CVE-2026-115877
Twisted: HTTP Request Smuggling in twisted.web via a Bare CR or LF in a Header Value
Fetching some sources has been requested. Reload in about a minute to see them.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
Attack conditions and impact
Derived from the CNA (via NVD) CVSS 3.1 vectorThis vulnerability may be exploitable over the internet without authentication or user interaction.
| Metric | Value | Meaning |
|---|---|---|
| Attack vector AV | N | Network |
| Attack complexity AC | H | High (conditions required) |
| Privileges required PR | N | None |
| User interaction UI | N | None |
| Scope S | C | Changed (affects other components) |
| Confidentiality C | L | Low |
| Integrity I | L | Low |
| Availability A | N | None |
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
Description
Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, twisted.web.http.HTTPChannel.headerReceived rejects a NUL byte in an HTTP header value but accepts a bare carriage return or bare line feed. Because Twisted splits header lines only on CRLF, a hidden Content-Length header can remain folded into another value while a lenient front end treats the bare character as a line terminator. The resulting framing disagreement can smuggle a following request past front-end access controls, poison a shared connection or cache, and expose a later client to the wrong response. This issue is an incomplete-fix residual of earlier Twisted request-smuggling protections. This issue is fixed in version 26.10.0rc1.
CVSS assessments
| Provider | Version | Score | Vector |
|---|---|---|---|
| NVD / [email protected] (Secondary) | 3.1 | 5.4 MEDIUM | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N |
| CNA / GitHub_M | 3.1 | 5.4 MEDIUM | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N |
Affected products and packages
CNA (CVE.org)
| Vendor | Product | Versions |
|---|---|---|
| twisted | twisted | affected: < 26.10.0rc1 |
Open-source packages (GitHub Advisory / OSV)
Twisted: HTTP Request Smuggling in twisted.web via a Bare CR or LF in a Header Value
| Ecosystem | Package | Affected versions | Fixed in |
|---|---|---|---|
| PyPI | Twisted | <= 26.4.0 | 26.10.0rc1 |
Linux distribution status
Red Hat ↗ moderate
| Release | Package | Status | Fixed version / notes |
|---|---|---|---|
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-24/controller-rhel8 | out of support scope | |
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-25/controller-rhel8 | out of support scope | |
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-25/lightspeed-rhel8 | out of support scope | |
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-26/controller-rhel9 | fix deferred | |
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-26/eda-controller-rhel9 | fix deferred | |
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-26/lightspeed-rhel9 | fix deferred | |
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-27/controller-rhel9 | fix deferred | |
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-27/eda-controller-rhel9 | fix deferred | |
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-27/lightspeed-rhel9 | fix deferred | |
| Red Hat Ansible Automation Platform 2 | automation-controller | fix deferred | |
| Red Hat Ansible Automation Platform 2 | python-twisted | out of support scope | |
| Red Hat OpenStack Platform 16.2 | python-twisted | out of support scope | |
| Red Hat Ansible Automation Platform 2 | python3.11-twisted | fix deferred | |
| Red Hat Ansible Automation Platform 2 | python3.12-twisted | fix deferred | |
| Red Hat Ansible Automation Platform 2 | python3x-twisted | out of support scope |
Debian ↗
| Release | Package | Status | Fixed version / notes |
|---|---|---|---|
| bookworm | twisted | open not yet assigned | |
| forky | twisted | open not yet assigned | |
| sid | twisted | open not yet assigned | |
| trixie | twisted | open not yet assigned | no-dsa: Minor issue |
Ubuntu ↗ Fetching
References (6)
- https://github.com/advisories/GHSA-q7qq-6mhp-9rc4 GHSA
- https://github.com/twisted/twisted/commit/022b6f7feb5980166c71f54e2c0d8f4f21ff6e1a NVD, CNA, GHSA x_refsource_MISC
- https://github.com/twisted/twisted/commit/1616f702d36eda8990a5a5b22ad70fab140a7eb1 NVD, CNA, GHSA x_refsource_MISC
- https://github.com/twisted/twisted/pull/12755 NVD, CNA, GHSA x_refsource_MISC
- https://github.com/twisted/twisted/releases/tag/twisted-26.10.0rc1 NVD, CNA, GHSA x_refsource_MISC
- https://github.com/twisted/twisted/security/advisories/GHSA-q7qq-6mhp-9rc4 NVD, CNA, GHSA x_refsource_CONFIRM