Skip to main content
← All vulnerabilities
CVE-2026-115877GHSA-Q7QQ-6MHP-9RC4EUVD-2026-109153

Twisted: HTTP Request Smuggling in twisted.web via a Bare CR or LF in a Header Value

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 26.10.0rc1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

Twisted, a Python framework for building internet applications, is affected through its twisted.web HTTP server component. Attackers can exploit a header parsing flaw to smuggle requests past front-end access controls, poison shared connections or caches, and cause later clients to receive the wrong responses.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original 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.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  4. Record last updated

Affected versions

  • twisted twisted

    fixed in 26.10.0rc1

  • twistedPyPI

    fixed in 26.10.0rc1

References 5

GitHub · twisted/twisted