Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

libModSecurity3: REQUEST_HEADERS names are treated as case sensitive with configure-time rule-exclusions

Abierto
#3,609 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
64/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
cpp, nginx

Línea de trabajo

Comienza rastreando las exclusiones de reglas en tiempo de configuración desde SecRuleUpdateTargetById hasta los objetivos REQUEST_HEADERS coincidentes. Reproduce el problema con las dos solicitudes curl y compara las exclusiones para Referer y referer. Se considera completado cuando se ignora el uso de mayúsculas y minúsculas en los nombres de los encabezados, de modo que una exclusión se comporte de forma coherente para ambas solicitudes, con cobertura para la regresión.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

:1st_place_medal: good first issue 3.x pr available

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

Lenguaje dominante
C++
Estrellas
9.8k
Forks
1.8k
Merge medio
1 d 1 h
PR fusionados (30 d)
13

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de owasp-modsecurity/ModSecurity

Todos los issues de owasp-modsecurity/ModSecurity

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.