# CVE-2026-105659: Denial of service in bandit

> An unauthenticated remote attacker can exhaust server resources by sending slow HTTP/2 WINDOW_UPDATE frames, causing indefinite process pinning and denial of service.

- **Severity:** High 8.7 (`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 14 Oct 2026
- **Updated:** 16 Oct 2026
- **Also known as:** EEF-CVE-2026-105659, GHSA-69m6-wcv4-rwcf

## What is CVE-2026-105659?

CVE-2026-105659 is a high-severity denial of service vulnerability in mtrudel bandit, published on 14 Oct 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

Uncontrolled Resource Consumption vulnerability in mtrudel bandit allows an unauthenticated remote attacker to pin HTTP/2 stream processes indefinitely via a trickle of small WINDOW_UPDATE frames. A stream whose response outruns the connection or stream send window blocks until the peer grants more window, and each block carries a 15 second deadline. Both deadlines restart whenever the peer makes partial progress. Bandit.HTTP2.Connection.finish_data/5 re-queues a partially advanced send in pending_sends with a fresh expires_at, so every WINDOW_UPDATE on stream 0, and every SETTINGS frame, resets the clock. Bandit.HTTP2.Stream.send_data/3 recurses on each stream WINDOW_UPDATE and re-arms a fresh after read_timeout. A peer that grants a few bytes every few seconds keeps the blocked stream process, its Plug state and any resource it holds mid-response alive for as long as it keeps dripping, and repeats this across streams and connections to exhaust server processes and memory.

The two paths are independent. The stream-level block is reached on its own by widening the connection window with a large WINDOW_UPDATE on stream 0 and shrinking the per-stream window with a small SETTINGS_INITIAL_WINDOW_SIZE, so closing only the connection-level path leaves it exploitable.

This issue affects bandit: from 1.4.0 before 1.13.0.

Weakness: CWE-400 (Uncontrolled Resource Consumption)

## Which versions are affected by CVE-2026-105659?

1 open source package ship an affected version, including bandit.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `bandit` | Hex | From 1.4.0 | 1.13.0 |

## How do I fix CVE-2026-105659?

Upgrade bandit to 1.13.0 or later.

## Is CVE-2026-105659 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-105659 exists.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-105659 and fix it if it is affected.

What it is: CVE-2026-105659 is a high-severity denial of service vulnerability in mtrudel bandit, published on 14 Oct 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-105659 exists.

Affected packages and fixed versions:
- bandit (Hex): affected from 1.4.0; fixed in 1.13.0

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-105659/ (Markdown: https://insights.sbomify.com/CVE-2026-105659/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-105659
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-105659
- OSV: https://osv.dev/vulnerability/CVE-2026-105659

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-105659/
Summaries are generated and may contain mistakes; the official description above is the record.
