CVE-2026-39803 Details
Description
Allocation of Resources Without Limits or Throttling vulnerability in mtrudel bandit allows unauthenticated remote denial of service via memory exhaustion. The chunked clause of 'Elixir.Bandit.HTTP1.Socket':read_data/2 in lib/bandit/http1/socket.ex ignores the caller-supplied :length option when reading HTTP/1 chunked request bodies. Instead of capping the accumulated body at the configured limit (e.g. Plug.Parsers' default 8 MB), do_read_chunked_data!/5 buffers every received chunk into an iolist unconditionally and materializes the entire body as a single binary. The function always returns {:ok, body, ...}, so callers cannot interpose a 413 response. Because Plug.Parsers runs before routing and authentication in the standard Phoenix endpoint, an unauthenticated attacker needs no valid route or credentials. Sending a single Transfer-Encoding: chunked POST request with an arbitrarily large body to any path causes the BEAM process to exhaust available memory and be terminated by the OS OOM killer. The content-length path in the same function correctly enforces the limit and is not affected. This issue affects bandit: from 1.4.0 before 1.11.1.
A denial-of-service vulnerability has been identified in the mtrudel Bandit library, specifically in versions 1.4.0 prior to 1.11.1. This vulnerability allows unauthenticated remote attackers to exhaust server memory, leading to a crash. The issue arises because the HTTP/1 chunked body reader ignores the specified length limit and buffers entire request bodies into memory as a single binary. This flaw can be exploited by sending a large chunked POST request to any endpoint, causing the server to run out of memory and be terminated by the operating system's out-of-memory killer.
Users can upgrade to Bandit version 1.11.1 or later, where this vulnerability has been fixed.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed May 13, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/mtrudel/bandit/security/advisories/GHSA-9q9q-324x-93r2 | CISA-ADP | ExploitVendor Advisory |
| https://cna.erlef.org/cves/CVE-2026-39803.html | EEF | Third Party Advisory |
| https://github.com/mtrudel/bandit/commit/ae3520dfdbfab115c638f8c7f6f6b805db34e1ab | EEF | Patch |
| https://github.com/mtrudel/bandit/security/advisories/GHSA-9q9q-324x-93r2 | EEF | ExploitVendor Advisory |
| https://osv.dev/vulnerability/EEF-CVE-2026-39803 | EEF | Third Party Advisory |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-770 | Allocation of Resources Without Limits or Throttling | EEF |
Affected Products
| Product | Versions |
|---|---|
| mtrudel bandit | >= 1.4.0, < 1.11.1 |
CPE
Remediation
| |
Change History
5 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | EEF |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| May 21, 2026 | Initial Analysis | [email protected] |
| May 13, 2026 | CVE Modified | CISA-ADP |
| May 13, 2026 | New CVE Received | EEF |