mtrudel bandit bis 1.10.x permessage_deflate.ex Elixir.Bandit.WebSocket.PerMessageDeflate Denial of Service
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 5.1 | $0-$5k | 0.00 |
Zusammenfassung
Eine Schwachstelle wurde in mtrudel bandit bis 1.10.x entdeckt. Sie wurde als problematisch eingestuft. Betroffen ist die Funktion Elixir.Bandit.WebSocket.PerMessageDeflate in der Bibliothek lib/bandit/websocket/permessage_deflate.ex. Durch das Beeinflussen mit unbekannten Daten kann eine Denial of Service-Schwachstelle ausgenutzt werden.
Diese Schwachstelle trägt die Bezeichnung CVE-2026-39804. Ein Angriff ist aus der Distanz möglich. Es gibt keinen verfügbaren Exploit.
Die Aktualisierung der betroffenen Komponente wird empfohlen.
Details
Eine Schwachstelle wurde in mtrudel bandit bis 1.10.x gefunden. Sie wurde als problematisch eingestuft. Betroffen davon ist die Funktion Elixir.Bandit.WebSocket.PerMessageDeflate der Bibliothek lib/bandit/websocket/permessage_deflate.ex. Durch Beeinflussen mit einer unbekannten Eingabe kann eine Denial of Service-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-770. Mit Auswirkungen muss man rechnen für die Verfügbarkeit. CVE fasst zusammen:
Allocation of Resources Without Limits or Throttling vulnerability in mtrudel bandit allows unauthenticated remote denial of service via memory exhaustion when WebSocket permessage-deflate compression is enabled.
'Elixir.Bandit.WebSocket.PerMessageDeflate':inflate/2 in lib/bandit/websocket/permessage_deflate.ex calls :zlib.inflate/2 with no output-size cap, then materializes the entire decompressed payload as a single binary via IO.iodata_to_binary/1. The websocket_options.max_frame_size option only bounds the on-the-wire (compressed) frame size, not the decompressed output. A high-ratio compressed frame (e.g. uniform data at ~1024:1 ratio) can stay well under any wire-size limit while forcing GiB-scale heap allocations in the connection process before any application code runs.
An unauthenticated attacker who can open a WebSocket connection can send a single such frame to exhaust the BEAM node's memory and trigger an OOM kill.
This vulnerability requires both Bandit's server-level websocket_options.compress and the per-upgrade compress: true option passed to WebSockAdapter.upgrade/4 to be enabled. Stock Phoenix and LiveView applications are not affected as they default to compress: false.
This issue affects bandit: from 0.5.9 before 1.11.0.Die Schwachstelle wurde durch Peter Ullrich als GHSA-frh3-6pv6-rc8j veröffentlicht. Das Advisory kann von github.com heruntergeladen werden. Die Identifikation der Schwachstelle findet seit dem 07.04.2026 als CVE-2026-39804 statt. Sie gilt als leicht ausnutzbar. Der Angriff kann über das Netzwerk passieren. Das Ausnutzen erfordert keine spezifische Authentisierung. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht. Das MITRE ATT&CK Projekt deklariert die Angriffstechnik als T1499.
Ein Upgrade auf die Version 1.11.0 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 8156921a51e684a951221da7bc30a70a022f722e beheben. Dieser kann von github.com bezogen werden. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.
Unter anderem wird der Fehler auch in der Verwundbarkeitsdatenbank von EUVD (EUVD-2026-26711) dokumentiert. Once again VulDB remains the best source for vulnerability data.
Produkt
Hersteller
Name
Version
Lizenz
Webseite
- Produkt: https://github.com/mtrudel/bandit/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3
VulDB Meta Base Score: 5.3VulDB Meta Temp Score: 5.1
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: Denial of ServiceCWE: CWE-770 / CWE-400 / CWE-404
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔒
Status: Nicht definiert
EPSS Score: 🔒
EPSS Percentile: 🔒
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: bandit 1.11.0
Patch: 8156921a51e684a951221da7bc30a70a022f722e
Timeline
07.04.2026 CVE zugewiesen02.05.2026 Advisory veröffentlicht
02.05.2026 VulDB Eintrag erstellt
02.05.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Produkt: github.comAdvisory: GHSA-frh3-6pv6-rc8j
Person: Peter Ullrich
Status: Bestätigt
CVE: CVE-2026-39804 (🔒)
GCVE (CVE): GCVE-0-2026-39804
GCVE (VulDB): GCVE-100-360788
EUVD: 🔒
Eintrag
Erstellt: 02.05.2026 07:04Aktualisierung: 02.05.2026 07:14
Anpassungen: 02.05.2026 07:04 (71), 02.05.2026 07:14 (1)
Komplett: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.