CVE-2026-65623 in banditinformazioni

Riassunto

di VulDB • 25/07/2026

Vulnerabilità di complessità algoritmica inefficiente in mtrudel bandit che consente un denial of service (DoS) remoto non autenticato tramite esaurimento delle risorse CPU durante il riassemblaggio dei frammenti WebSocket.

La funzione 'Elixir.Bandit.WebSocket.Connection':oversize_message?/2, chiamata da handle_frame/3 nel file lib/bandit/websocket/connection.ex, aggiunge ogni frame di continuazione non finale a una iolist annidata a sinistra e poi riesamina l'intero buffer accumulato con IO.iodata_length/1 per ogni frame. Poiché il buffer cresce di un elemento per frame e viene interamente ripercorso ad ogni operazione, il lavoro di riassemblaggio è quadratico (O(n^2)) rispetto al numero di frame di continuazione.

Il limite max_fragmented_message_size (predefinito 8 MB) vincola i byte totali ma non il conteggio dei frame; ciascun frame può contenere anche un solo byte di payload, consentendo a un attaccante di inviare milioni di minuscoli frame di continuazione con una banda modesta per bloccare un core CPU per minuti o ore. Molte connessioni simultanee possono affamare l'intero server delle risorse CPU, negando il servizio agli utenti legittimi. Il timeout di lettura WebSocket non aiuta in quanto si tratta di un idle timeout valutato tra le letture e non può interrompere preventivamente il lavoro sincrono di riassemblaggio eseguito all'interno di una singola callback.

Questo problema interessa bandit: dalla versione 1.11.0 alla 1.12.1 (esclusa).

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsabile

EEF

Prenotare

22/07/2026

Divulgazione

24/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Want to stay up to date on a daily basis?

Enable the mail alert feature now!