Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2026-39804— WebSocket permessage-deflate inflate has no output-size cap in bandit

EPSS 0.05% · P16
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-39804

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
WebSocket permessage-deflate inflate has no output-size cap in bandit
Source: NVD (National Vulnerability Database)
Vulnerability Description
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.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
不加限制或调节的资源分配
Source: NVD (National Vulnerability Database)
Vulnerability Title
Bandit 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Bandit是Mat Trudel个人开发者的一款高性能HTTP与WebSocket服务器。 Bandit 0.5.9版本至1.11.0之前版本存在安全漏洞,该漏洞源于WebSocket permessage-deflate压缩启用时未限制资源分配,可能导致未经身份验证的远程攻击者通过内存耗尽实现拒绝服务攻击。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
mtrudelbandit 0.5.9 ~ 1.11.0 cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*
mtrudelbandit da4027cff7d2b80319e76fe7a32f84beceec490a ~ 8156921a51e684a951221da7bc30a70a022f722e cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*

II. Public POCs for CVE-2026-39804

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-39804

登录查看更多情报信息。

Same Patch Batch · mtrudel · 2026-05-01 · 5 CVEs total

CVE-2026-42788HTTP/2 frame size limit checked after body is buffered in bandit
CVE-2026-42786WebSocket fragmented message reassembly unbounded in bandit
CVE-2026-39805CL.CL HTTP request smuggling via duplicate Content-Length in bandit
CVE-2026-39807Client-supplied URI scheme trusted without transport verification in bandit

IV. Related Vulnerabilities

V. Comments for CVE-2026-39804

No comments yet


Leave a comment