-
-
Notifications
You must be signed in to change notification settings - Fork 680
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
Remaining reqs in section 5.1 seem like they don't belong. #2487
Comments
5.1.5 looks like validation to me. It's typically called "allow list validation" and this kind of validation does in fact almost always provide a needed security benefit when protecting redirects. 5.1.6 is just doing a size limit check, a form of validation. Depending on the underlying framework, a programmer doing this manually may or may not provide a major security benefit. But these both seem like security validation to me. |
5.1.6 can be also widened to building a request URL (to an API) - it may happen in the background without processing directly the request initiated by the user - so it is not direct user input validation. Probably we need to change the 5.1.6. |
Especially since 5.1.6 is something a developer rarely needs to deal with, I agree on moving it out of validation, Elar. |
For 5.1.5, I think the closest sections are either "V5.2 Sanitization and Sandboxing" because it fits into the theme of only using untrusted content after we are sure that it is safe. For 5.1.6, I would welcome a suggestion from @elarlang on how to alter the requirement and where it should go. |
Proposal for 5.1.6 - update the text with the meaning (needs grammas/language/wording review/update) below and move it to V10.4 Defensive coding.
|
What do you think about: "Verify that the application uses validation, sanitization, or other mechanisms to avoid creating URIs (such as for API calls) or HTTP request header fields (such as Authorization or Cookie), as part of an HTTP request, which are too long to be accepted by the receiving components. The application is otherwise exposed to client-based denial of service attacks." I didn't understand what you meant by "It includes values provided for the browser" |
First part - I have an error reading the as part of an HTTP request in this part of the sentence. Maybe it is just my problem :) Can it be in the beginning or at the end? Otherwise the first impression when reading it is "avoid creating URIs or HTTP request header fields as part of an HTTP request". Second part Initial:
Updated:
Updated version has different meaning - initial has the goal to highlight one possible impact, the updated version declares or defines this as one and only possible impact |
"Verify that, within HTTP requests, the application uses validation, sanitization, or other mechanisms to avoid creating URIs (such as for API calls) or HTTP request header fields (such as Authorization or Cookie), which are too long to be accepted by the receiving component. This will help prevent attacks such as client-based denial of service." @elarlang better? |
First part is better. I'm concerned that the last part can be still interpreted as the requirements is valid and addressed only for the "client-based denial of service". If we can not send it as a clear message, as this is just one option or outcome, is better to not send it at all. |
"Such as" clearly sets this out as an example. We need to explain the reason for this so if you don't want my proposal then maybe try and reword what you wrote before: "It includes values provided for the browser to avoid client-based denial of service attacks" |
These requirements are not really input validation but it is not clear where they should go.
Previous thoughts:
@elarlang:
(apologies in advance if I missed anything)
@tghosth:
The text was updated successfully, but these errors were encountered: