{"id":"CVE-2026-115877","summary":"Twisted: HTTP Request Smuggling in twisted.web via a Bare CR or LF in a Header Value","details":"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.","aliases":["GHSA-q7qq-6mhp-9rc4"],"modified":"2026-10-25T10:45:09.610609843Z","published":"2026-10-23T20:25:12.031Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/115xxx/CVE-2026-115877.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-444"]},"references":[{"type":"WEB","url":"https://github.com/twisted/twisted/releases/tag/twisted-26.10.0rc1"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/115xxx/CVE-2026-115877.json"},{"type":"ADVISORY","url":"https://github.com/twisted/twisted/security/advisories/GHSA-q7qq-6mhp-9rc4"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-115877"},{"type":"FIX","url":"https://github.com/twisted/twisted/commit/022b6f7feb5980166c71f54e2c0d8f4f21ff6e1a"},{"type":"FIX","url":"https://github.com/twisted/twisted/commit/1616f702d36eda8990a5a5b22ad70fab140a7eb1"},{"type":"FIX","url":"https://github.com/twisted/twisted/pull/12755"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/twisted/twisted","events":[{"introduced":"0"},{"fixed":"875d118c9a82a4f55a92ff399bd31f8928a52ad3"},{"fixed":"022b6f7feb5980166c71f54e2c0d8f4f21ff6e1a"},{"fixed":"1616f702d36eda8990a5a5b22ad70fab140a7eb1"}],"database_specific":{"extracted_events":[{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"0"},{"fixed":"26.10.0rc1"}]},{"range":[{"fixed":"022b6f7feb5980166c71f54e2c0d8f4f21ff6e1a"}],"source":"REFERENCES_COMMIT"},{"source":"REFERENCES_COMMIT","range":[{"fixed":"1616f702d36eda8990a5a5b22ad70fab140a7eb1"}]},{"original_tag":"twisted-26.10.0rc1","range":[{"fixed":"875d118c9a82a4f55a92ff399bd31f8928a52ad3"}],"source":"REFERENCES_TAG"}]}}],"versions":["before-black"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-115877.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N"}]}