-
-
Notifications
You must be signed in to change notification settings - Fork 673
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
v5.3.6 Security requirement against XSS too generic #1010
Comments
+1 I agree this needs to be fixed, thank you for this submission |
My first feeling is, that it's mostly duplicate to 5.3.3 and I think I have reported it somewhere long time ago, but probably it was before re-numeration and I did not find it at the moment. First, related requirements:
Before removing requirement, we need to check, that all the meaning in requirement are covered or deprecated:
CWE for 5.3.6 is incorrect as well:
|
I'm going to use digits for every bit you're tackling so we can discuss them easier:
|
.2. JSON injection should not be part of Deserialization (5.5.4) or eval, but it's clearly 5.3 problem. I interpret "JSON injection" when someone have The Best Idea Ever to build JSON manually instead of using some built-in JSON-encoder library/function. .4. config part I should keep away from here, even they are all related. Otherwise we need to have in this section "You must have correct Content-Type set" as well, but we have another categories for that. .3. and 5. maybe current requirement (5.3.6) need to change to "do not execute userinput as HTML and/or JavaScript", this means DOM XSS (classical "write as text" vs "write as HTML"), Current requirement with clearly duplicate parts removed:
|
@ThunderSon - any proposals for improving current situation or we just make quick-fix with removing clear duplicates like I showed in previous comment? |
This requirement is a mess. I'm deleting it now. |
Proposal for v4.0.3: |
A little wordsmithing: Verify that the application protects against JSON injection attacks, JSON eval attacks, and JavaScript expression evaluation. |
PR #1097 brings this requirement back with new simplified text resolving this issue for good, I hope! :) |
Proposal for v4.0.3 was not to goal to bring it back for 4.* or 5.0 release. But please do not touch it now anymore before v4.0.3 is out. |
I am reopening this issue. The current requirement is:
To me it feels like both these items can be removed although JSON injection is clearly still correct and should be specifically included. Any comments @ThunderSon, @jmanico or @elarlang ? |
5.3.6 was shortened/fixed for v4.0.3. Agree, current 5.3.6 is duplicate of 5.2.4. 5.2.4 also covers JavaScript expression evaluation. |
Current state, after update:
We have removed duplicates, but maybe it makes sense to put JSON into 5.3.1 list and we can get rid of 5.3.6 completely. I don't think JSON injection needs separate requirement, and if it does, we should make separate requirements for everything listed in 5.3.1. |
@elarlang to my mind, JSON injection is something slightly different to the items in 5.3.1 so I am not sure if it really fits there... It isn't a context for some from of XSS but rather it is the ability to inject additional JSON entities into a JSON object. |
Ok, I close this one. |
In v5.3, requirement 5.3.6, the following is mentioned:
Now in 5.3.3, output escaping is mentioned. In 5.5.4,
JSON.parse
is mentioned. These 2 examples are better examples of what a requirement is than 5.3.6.A requirement that says "Don't have vulnerabilities" is not enough. I am a security engineer and I am confused on what I should do. How do I counter CSP bypasses?! How do I do that? Isn't CSP the defense in depth to something else? What are remote JS includes? What's the attack called? Has anyone googled remote JS includes before in their lives?
eval
All these are being mentioned in 1 requirement.
The text was updated successfully, but these errors were encountered: