-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Unicode encoding (table) problem on engine level leading to CRS false positives (U+062F and U+D8AF resolving to slash) #3294
Comments
@dune73 can you generate a debug log (preferably in v2), I cannot reproduce the problem |
Is sent it to you via DM. I hope the problem is not on my client side. I did check the traffic with tcpdump. |
In the log, I see
The raw body received by ModSecurity indeed contains /.. |
I see the problem. |
Good question. We need to review this... |
Added some tests in go-ftw, and looks like it is doing the encoding... |
Describe the bug
Both ModSecurity 2, ModSecurity 3 as well as Coraza are translating U+062F and U+D8AF to slash leading to a false positive with the CRS path traversal rule 930110.
Link to Coraza issue: corazawaf/coraza#1193
Logs and dumps
Notice how ModSec2 triggers the rule twice.
ModSec 2 error log:
Expected behavior
No false positive
Rule Set (please complete the following information): CRS4
Additional context
This may have to do with the code table, or in the case of U+D8AF translating the 2nd part of the unicode char to slash, but not sure.
The text was updated successfully, but these errors were encountered: