Description
CivetWeb through 1.16, when built with USE_HTTP2 and enable_http2 on, contains a use-after-free vulnerability in handle_http2() that retains freed :method and :path pointers. Unauthenticated remote attackers can send a later HEADERS frame omitting these pseudo-headers to influence request method or path seen by access rules, or crash the server.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| civetweb | civetweb | ≤ 1.16 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | civetweb | No fix yet | — |
| Debian 13 | civetweb | No fix yet | — |
| Debian 12 | civetweb | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | civetweb | No fix yet | — |
| Ubuntu 26.04 LTS | civetweb | No fix yet | — |
| Ubuntu 24.04 LTS | civetweb | No fix yet | — |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 22.04 LTS | civetweb | No fix yet | — |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | ceph | No fix yet | — |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
GitHub 1 repository
-
zeetee1235/CVE-2026-124040 ★ 0 · Nov 8, 2026
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
References
- GitHub Issue #1379 issue-tracking
- https://github.com/civetweb/civetweb product
- https://github.com/civetweb/civetweb/blob/v1.16/src/http2.inl#L1574-L1581 technical-description
- VulnCheck Advisory: CivetWeb through 1.16 HTTP/2 Use-After-Free via Stale Pseudo-Header State third-party-advisory