libModSecurity3: REQUEST_HEADERS names are treated as case sensitive with configure-time rule-exclusions
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 64/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- cpp, nginx
- Ambito
- backend-api-design, security
Direzione di ricerca
Inizia tracciando le esclusioni delle regole in fase di configurazione da SecRuleUpdateTargetById fino ai target REQUEST_HEADERS corrispondenti. Riproduci il problema con le due richieste curl e confronta le esclusioni per Referer e referer. Il lavoro è completo quando viene ignorata la distinzione tra maiuscole e minuscole nei nomi degli header, così che un’esclusione si comporti in modo coerente per entrambe le richieste, con una copertura per la regressione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
This bug is similar to: https://github.com/owasp-modsecurity/ModSecurity/issues/3441, which also doesn't appear in ModSecurity2.
Logs and dumps
N/A
To Reproduce
Re-using the previous example in this issue, say I have this rule:
SecRule REQUEST_HEADERS:Referer "@contains <evil-string>" \
"id:2,\
phase:1,\
deny,\
t:none,\
log"
and I want to write a rule-exclusion for this rule via a configure-time rule-exclusion:
SecRuleUpdateTargetById 2 !REQUEST_HEADERS:referer
This rule-exclusion works if the client sends a lowercase referer header:
$ curl -H "referer: <evil-string>" localhost:8080
But if the client sends an uppercase referer header, then the request is wrongly blocked:
$ curl -H "Referer: <evil-string>" localhost:8080
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.28.3 (Ubuntu)</center>
</body>
</html>
If I exclude both uppercase and lowercase referer header, then the rule-exclusion works as expected.
SecRuleUpdateTargetById 2 !REQUEST_HEADERS:Referer
SecRuleUpdateTargetById 2 !REQUEST_HEADERS:referer
Expected behavior
Request header case should be ignored.
Server (please complete the following information):
- OS: Ubuntu 26.04
- ModSecurity Version: 3.0.17
- NGINX Connector Version: v1.0.4
- NGINX Version: 1.28.3
Rule Set (please complete the following information):
N/A
Additional context
Similar to: https://github.com/owasp-modsecurity/ModSecurity/issues/3441
- Lingua principale
- C++
- Stelle
- 9.8k
- Fork
- 1.8k
- Merge medio
- 2h 46m
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di owasp-modsecurity/ModSecurity
-
2.x Platform - IIS
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
owasp-modsecurity/ModSecurity#3623 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
2.x Platform - IIS
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
owasp-modsecurity/ModSecurity#3621 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
2.x Platform - IIS
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
owasp-modsecurity/ModSecurity#3619 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
2.x Platform - IIS
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
owasp-modsecurity/ModSecurity#3612 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
3.x
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
owasp-modsecurity/ModSecurity#3580 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di owasp-modsecurity/ModSecurity
Issue simili
-
`enzymexla.linalg.lu` lowering fails for a tall matrix: the permutation is built with the pivot typeAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
EnzymeAD/Enzyme-JAX#3286 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
apache/iceberg-cpp#973 ·
I maintainer di solito rispondono entro 1 giorno
-
Add c++23 mapping to nvccApertafeature request
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno