CVE-2026-55951 in OTP
Résumé
par VulDB • 01/09/2026
Le client HTTP httpc d'Erlang/OTP n'impose pas de limite sur la taille totale des en-têtes de réponse reçus depuis un serveur. L'option max_header_size a par défaut la valeur nolimit, et la fonction httpc_response:parse_headers/6 accumule chaque en-tête dans une liste avant que le contrôle de longueur ne s'exécute (ce dernier n'est déclenché qu'après réception du CRLF terminateur CRLF).
Un serveur HTTP malveillant ou compromis peut envoyer un nombre arbitrairement élevé d'en-têtes, ou des en-têtes avec des valeurs très volumineuses, ce qui amène le processus client à allouer une mémoire non bornée jusqu'à épuisement de la mémoire système ou au plantage du VM BEAM. Un serveur proof-of-concept envoyant 100 000 en-têtes d'environ 4000 octets chacun a provoqué l'allocation de plus de 13 Go de mémoire par le client VM en moins de 30 secondes.
Toute application utilisant httpc:request/4,5 pour se connecter à des serveurs non fiables est concernée. Aucune authentification n'est requise : tout serveur auquel le client se connecte (y compris via une redirection ou un man-in-the-middle) peut déclencher l'épuisement de la mémoire.
Cette vulnérabilité affecte OTP depuis OTP 17.0 jusqu'à avant OTP 27.3.4.17, ainsi que depuis OTP 28.0 jusqu'à avant OTP 28.5.0.6, et depuis OTP 29.0 jusqu'à avant OTP 29.0.6, ce qui correspond à inets de la version 5.10 jusqu'à avant 9.3.2.7, de 9.4 jusqu'à avant 9.6.2.3, et de 9.7 jusqu'à avant 9.7.2. Il est inconnu si OTP antérieur à OTP 17.0 (correspondant à inets antérieur à 5.10) est affecté.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.