ModSecurity - CVE-2026-52747

Date de publication :

Il s'agit d'une vulnérabilité dans le parseur de corps de requête multipart/form-data de libmodsecurity.

ModSecurity est un moteur de pare-feu applicatif web (WAF) open source et multiplateforme, conçu pour s'intégrer à des serveurs web tels qu'Apache, IIS ou Nginx afin d'inspecter et de filtrer le trafic HTTP selon des règles de détection.

Lors du traitement d'un champ de formulaire non-fichier, le code du fichier multipart.cc écrase la variable tampon m_reserve au lieu d'y ajouter (append) les octets du buffer courant, ce qui provoque la perte silencieuse des sauts de ligne intégrés (\r\n ou \n) présents dans la valeur du champ. La valeur ainsi tronquée est ensuite exportée vers les variables de règles ARGS et ARGS_POST inspectées en phase 2, créant une divergence de traitement (parser differential) entre ce que voit ModSecurity et ce que reçoit réellement l'application backend. La règle de validation stricte multipart livrée par défaut (MULTIPART_STRICT_ERROR) ne détecte pas cette anomalie et reste à zéro, ce qui rend l'altération invisible pour l'administrateur.

Elle permet à des règles inspectant ARGS/ARGS_POST de manquer des charges utiles dont la syntaxe dangereuse dépend justement de la présence d'un saut de ligne.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Non

Risques

Contournement de la politique de sécurité

Exploitation

La vulnérabilité exploitée est du type
CWE-180 : Incorrect Behavior Order: Validate Before Canonicalize

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Aucun
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : Non

Preuve de concept
Une preuve de concept est disponible en sources ouvertes.

Systèmes ou composants affectés

libmodsecurity versions 3.0.15 et antérieures

Solutions ou recommandations

libmodsecurity versions 3.0.16 et supérieures