Monitor vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
9.3

Pingora allows attackers to bypass proxy controls and hijack sessions

GHSA-262p-vjx5-45xh
Summary

Pingora's handling of old HTTP requests allows attackers to bypass security controls and hijack user sessions. This affects standalone Pingora deployments in front of certain backends. To stay secure, update Pingora to prevent attackers from exploiting this vulnerability.

What to do
  • Update pingora-core to version 0.8.0.
Affected software
VendorProductAffected versionsFix available
pingora-core <= 0.8.0 0.8.0
Original title
Duplicate Advisory: HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing
Original description
### Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-hj7x-879w-vrp7. This link is maintained to preserve external references.

### Original Description
An HTTP Request Smuggling vulnerability (CWE-444) has been found in Pingora's parsing of HTTP/1.0 and Transfer-Encoding requests. The issue occurs due to improperly allowing HTTP/1.0 request bodies to be close-delimited and incorrect handling of multiple Transfer-Encoding values, allowing attackers to send HTTP/1.0 requests in a way that would desync Pingora’s request framing from backend servers’.

Impact

This vulnerability primarily affects standalone Pingora deployments in front of certain backends that accept HTTP/1.0 requests. An attacker could craft a malicious payload following this request that Pingora forwards to the backend in order to:

* Bypass proxy-level ACL controls and WAF logic




* Poison caches and upstream connections, causing subsequent requests from legitimate users to receive responses intended for smuggled requests




* Perform cross-user attacks by hijacking sessions or smuggling requests that appear to originate from the trusted proxy IP




Cloudflare's CDN infrastructure was not affected by this vulnerability, as its ingress proxy layers forwarded HTTP/1.1 requests only, rejected ambiguous framing such as invalid Content-Length values, and forwarded a single Transfer-Encoding: chunked header for chunked requests.


Mitigation:

Pingora users should upgrade to Pingora v0.8.0 or higher that fixes this issue by correctly parsing message length headers per RFC 9112 and strictly adhering to more RFC guidelines, including that HTTP request bodies are never close-delimited.

As a workaround, users can reject certain requests with an error in the request filter logic in order to stop processing bytes on the connection and disable downstream connection reuse. The user should reject any non-HTTP/1.1 request, or a request that has invalid Content-Length, multiple Transfer-Encoding headers, or Transfer-Encoding header that is not an exact “chunked” string match.
ghsa CVSS4.0 9.3
Vulnerability type
CWE-444
Published: 5 Mar 2026 · Updated: 7 Mar 2026 · First seen: 6 Mar 2026