CVE-2026-119202
Publiée le 2026-10-29 · Dernière modification le 2026-10-30
`@hapi/content` (versions 3.0.6 à 6.0.2) est une bibliothèque Node.js utilisée pour analyser les en-têtes de contenu HTTP. La faille se situe dans la fonction `Content.disposition()`, qui utilise une expression régulière inefficiente pour analyser les paramètres de l'en-tête. Lorsqu'un en-tête spécialement conçu contient une chaîne très longue sans signe égal, l'analyseur entre dans une boucle de tentatives de correspondance infructueuses, consommant ainsi des ressources CPU excessives.
Un attaquant peut utiliser cela pour provoquer un déni de service (DoS), gelant ainsi la boucle d'événements de Node.js et rendant le serveur unresponsive. Cette attaque est relativement facile à exécuter car elle ne nécessite aucune authentification, aucune interaction utilisateur, et peut être déclenchée via une simple requête réseau vers n'importe quelle route acceptant des données de formulaire multipart. Bien qu'elle ne compromette ni la confidentialité ni l'intégrité des données, elle interrompt complètement la disponibilité du service.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
@hapi/content provides HTTP Content-* header parsing. From 3.0.6 until 6.0.3, Content.disposition() uses an unanchored parameter-name expression in a global regular-expression scan, causing repeated failed matching over the remaining input when a Content-Disposition parameter contains a long token without an equals sign. The resulting quadratic processing can block the Node.js event loop before route handlers or validation when @hapi/pez parses multipart/form-data headers, including unauthenticated hapi routes with payload.multipart enabled, and also affects applications that pass untrusted headers directly to Content.disposition(). This issue is fixed in @hapi/content version 6.0.3.