-
Notifications
You must be signed in to change notification settings - Fork 3
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
XSS protection: userland formatters, etc. can output text which is inherently dangerous. Define what we protect, how and where. Lists risks. #18
Comments
Is there any point worrying about this on the client side anyway? The client has arbitrary control to circumvent anything we do. |
Yes and no. In our app there are situations which are solved cleaner and In particular: having SlickGrid ensure that Dom attribute values for It's a bit complicated as it's not SlickGrid alone. See this as a loud reminder to myself to ensure that SlickGrid offers a SlickGrid is involved itself since I use the SlickGrid internal way of Since the bits involved are right smack in my own patch work on SlickGrid I I'm not near a machine right now otherwise i'ld be able to pinpoint the
|
TL;DR the above: this is a documentation thing mostly. Q: what do you have to do in your userland code and what can you expect from SlickGrid re output-to-UI behaviour anywhere? escaping? If so, then where, how, what is and what isn't? A:
Note that SlickGrid formatters invoked through This needs to be unified so that the data-to-UI flow paths are no more either-or and all produce the same output, guaranteed.
|
Side note: a nice test vector for your app using SlickGrid is to enter or inject:
with the dev panel open:
When the test vector triggers, you can bet your userland app code is not doing what it should to protect your app & users. |
For one, we cannot (and WILL NOT) filter cell node formatting as we intend the userland code to be able to produce any HTML they desire to be placed in each grid cell.
On the other hand, we can do something about DOM node attributes, e.g. tooltip/title values to ensure those adhere to standards. However, even there, there's the 'risk' of making it harder for userland code producing DOM node attribute content which is targeting advanced tooltip-like systems such as intro.js.
The text was updated successfully, but these errors were encountered: