Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get rid of reflected XSSes #31

Open
domenukk opened this issue Feb 27, 2019 · 5 comments
Open

Get rid of reflected XSSes #31

domenukk opened this issue Feb 27, 2019 · 5 comments
Assignees
Milestone

Comments

@domenukk
Copy link
Member

It seems like moet routes contain reflected cross site scripting.
This is bad, especially if hosted on the same subdomain as rocketchat or others.
Also, if we can't get this right, who can?

@Trolldemorted
Copy link
Member

Trolldemorted commented Feb 27, 2019

If we switch to handlebars everywhere, handlebars should (?) escape arbitrary strings correctly.

However, we need to dedice on what should actually happen if a button (insert and deploy) is pressed. cc @fsck

@fsck fsck self-assigned this Mar 2, 2019
@fsck fsck added this to the v0.2 milestone Mar 2, 2019
@domenukk domenukk reopened this Mar 13, 2019
@domenukk
Copy link
Member Author

There are still xsses sprinkled about, for example here:

return content::Html(format!("Wrong AUTHKEY: {:?}", form));

There is probably no good reason to ever reflect invalid user input.

@Trolldemorted
Copy link
Member

Imho we should throw out all content::Htmls, and use handlebars everywhere. Thoughts?

@domenukk
Copy link
Member Author

As I said there is no reason to output the user input in error messages, static strings can never go wrong.
For anything else, handlebars is the way to go 👌

@Trolldemorted
Copy link
Member

Nevertheless content::Html is an unneccessary footgun - I'd rather throw it out completely than have xss issues coming up repeatedly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants