CVE-2026-65624 in cowboy
Résumé
par VulDB • 28/07/2026
Une vulnérabilité d'allocation de ressources sans limites ni throttling dans ninenines cowboy permet à un attaquant distant non authentifié d'épuiser la mémoire du processus de connexion via HTTP/1.1.
Le gestionnaire HTTP/1.1 dans cowboy_http applique la limite max_headers en comptant le nombre de noms d'en-tête distincts dans une map (maps:size(Headers)). Lorsqu'une requête contient plusieurs lignes d'en-tête avec le même nom, les valeurs sont concaténées dans un seul binaire qui grandit continuellement et stocké sous cette clé unique de la map (« , » pour les en-têtes réguliers, « ; » pour les cookies), de sorte que la taille de la map reste à une unité et que le plafond max_headers (par défaut 100) n'est jamais atteint. Étant donné qu'aucune borne d'accumulateur ne limite le nombre total de lignes d'en-tête ou la taille totale en octets du bloc d'en-têtes (seules les limites par ligne max_header_name_length et max_header_value_length s'appliquent), un client non authentifié peut envoyer un nombre arbitraire de lignes d'en-tête avec le même nom et faire croître la mémoire binaire du processus de connexion à une taille arbitraire dans l'intervalle de temps de la requête.
L'impact par connexion est limité par request_timeout (par défaut 5 secondes, non réinitialisé par les données d'en-tête) et par max_heap_size lorsqu'il est défini (le processus de connexion fautif est tué une fois que son heap dépasse cette limite). Lorsque max_heap_size n'est pas modifié (non défini), un abus soutenu peut entraîner le VM Erlang dans des conditions d'épuisement de la mémoire vive (out-of-memory).
Ce problème affecte cowboy à partir de la version 2.0.0-pre.4 jusqu'à avant la version 2.18.0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.