
Script de détection et d'atténuation pour CVE-2021-42717 -> Vulnérabilité DoS de ModSecurity dans l'analyse JSON
Script de détection et d'atténuation pour CVE-2021-42717 -> Vulnérabilité DoS de ModSecurity dans le parsing JSON
ModSecurity 3.x jusqu'à 3.0.5 gère mal les objets JSON excessivement imbriqués. Des objets JSON conçus avec une imbrication profonde de dizaines de milliers de niveaux peuvent rendre le serveur web incapable de traiter les requêtes légitimes. Même une requête HTTP de taille modérée (par exemple 300 Ko) peut occuper l'un des processus worker NGINX limités pendant des minutes et consommer presque tout le CPU disponible sur la machine. Modsecurity 2 est également vulnérable : les versions concernées incluent 2.8.0 à 2.9.4.
Atténuation possible : Créez une règle chaînée de phase:1 qui rejettera les requêtes qui utiliseraient le parseur JSON si le Content-Length dépasse une certaine taille (10 000 à 20 000 octets est probablement sûr dans la plupart des installations). Certains utilisateurs de v2 peuvent également utiliser l'élément de configuration SecRequestBodyNoFilesLimit si les autres corps de requête non-fichiers sont également censés être en dessous de seuils similaires. Note spéciale aux utilisateurs de ModSecurity <v2.9.3 : bien que le problème existe dans des versions antérieures comme v2.9.2, il semble nécessiter une taille de corps de requête plus grande pour déclencher des délais problématiques, ce qui signifie que les limites concernant la taille du corps de la requête peuvent probablement être plus grandes (peut-être 40 000 à 50 000 octets) et offrir tout de même une protection décente dans la plupart des installations. https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/modsecurity-dos-vulnerability-in-json-parsing-cve-2021-42717/
