GHSA-8r99-h8j2-rw64 Twisted vulnerable to HTTP Request Smuggling Attacks
Twisted Web is vulnerable to HTTP request smuggling, allowing attackers to desynchronize request handling and potentially access or modify data.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is GHSA-8r99-h8j2-rw64?
GHSA-8r99-h8j2-rw64 is a vulnerability in twisted, published on 7 Oct 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Impact
Twisted Web is vulnerable to request smuggling attacks:
- "When presented with two content-length headers, Twisted Web ignored the first header. When the second content-length was set to zero this caused Twisted Web to interpret the request body as a pipelined request. According to RFC 7230 Section 3.3.3#4, if a message is received with multiple content-length headers with differing value, then the server must reject the message with a 400 response." (Jake Miller of Bishop Fox Security)
- " When presented with a content-length and a chunked encoding header, the content-length took precedence and the remainder of the request body was interpreted by Twisted Web as a pipelined request. According to RFC 7230 Section 3.3.3#3, if a message with both content-length and chunked encoding is accepted, transfer-encoding overrides the content-length." (Jake Miller of Bishop Fox Security)
"Twisted should not allow BWS between the filed-name and colon." (ZeddYu Lu)closed in 9646- "Two CL header with different values is also not allowed." (ZeddYu Lu)
- "Only accept identity and chunked Transport-Encoding." (ZeddYu Lu)
Patches
https://github.com/twisted/twisted/commit/20c787a14a09e7cbd5dfd8df08ceff00d1fcc081 https://github.com/twisted/twisted/commit/4a7d22e490bb8ff836892cc99a1f54b85ccb0281
Workarounds
N/A
References
Which versions are affected by GHSA-8r99-h8j2-rw64?
2 open source packages ship an affected version, including twisted.
| Package | Affected | Fixed in |
|---|---|---|
twisted PyPI | All versions | 20.3.0 |
twisted PyPI | All versions | 20.3.0 |
How do I fix GHSA-8r99-h8j2-rw64?
Upgrade twisted to 20.3.0 or later.
Is GHSA-8r99-h8j2-rw64 being exploited?
There is no known exploitation of GHSA-8r99-h8j2-rw64 in the wild and no public exploit code.