This repository was archived by the owner on May 14, 2020. It is now read-only.
This repository was archived by the owner on May 14, 2020. It is now read-only.
Rule 920450 and modsec 3x #1741
Closed
Description
Regarding owasp-modsecurity/ModSecurity#2296
We detected this, because rule 920450 is setting setvar:'tx.header_name_%{tx.0}=/%{tx.0}/'
but accessing it via SecRule TX:/^HEADER_NAME_/
I think since modsec 3x seems to be (wrongly) case sensitive on regex, rule 920450 could be changed as
diff --git a/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf b/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf
index 880c8c4..49ea353 100644
--- a/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf
+++ b/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf
@@ -1130,7 +1130,7 @@ SecRule REQUEST_HEADERS_NAMES "@rx ^.*$" \
severity:'CRITICAL',\
setvar:'tx.header_name_%{tx.0}=/%{tx.0}/',\
chain"
- SecRule TX:/^HEADER_NAME_/ "@within %{tx.restricted_headers}" \
+ SecRule TX:/^header_name_/ "@within %{tx.restricted_headers}" \
"setvar:'tx.anomaly_score_pl1=+%{tx.critical_anomaly_score}'"
Note that I did not test the new rule, but this case difference is a problem with modsec 3x