pingora-core
A library for building fast, reliable and evolvable network services.
Activity
- Latest release
- 1mo ago
- Total releases
- 11
- Cadence
- ~3 months
- Last 12 months
- 4
Reach
- Downloads
- 9.3M
- Stars
- 27.4k
Details
- License
- Apache-2.0
- First release
- Feb 28, 2024
| Version | Released | |
|---|---|---|
0.9.0
minor
|
0.9.0
minor
Dependencies (63)
+ 55 more
Changelog
Compare changes
|
|
0.8.1
unknown
1 CVE
CVE-2026-105298
RUSTSEC-2026-0388
GHSA-mgg9-6xw2-jfgp
Oct 20, 2026
Pingora HTTP/2 :authority and Host header mismatch enables cache poisoning and host-based access control bypass
Low
Network
Low
None
None
Pingora versions prior to 0.9.0 accepted HTTP/2 requests whose Host header differed from the A remote, unauthenticated attacker can send a single HTTP/2 request that the application sees as one host and the upstream receives as another. Where request filters, access controls, or cache keys use the URI authority and the upstream routes by Host, this can lead to cache poisoning, where a response from another virtual host is stored under the victim host's cache key and served to other users, or host-based access control bypass, where a request approved for one host is served by a different virtual host on the upstream. Deployments that do not accept HTTP/2 from clients, or that do not use the request authority for security or caching decisions, are not affected. This flaw was corrected in commits 915590a91811877795531f6ba0927a3138b5cb4b and ffab8302d08d4292d1924eb8fe84647fd5cb8e76. Pingora now returns 400 Bad Request for HTTP/2 requests whose Host differs from Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.9.0
References Updated Oct 26, 2026 · Source: OSV.dev |
0.8.1
unknown
Dependencies (62)
+ 54 more
Changelog
Compare changes
|
|
0.8.0
unknown
2 CVEs
CVE-2026-105298
RUSTSEC-2026-0388
GHSA-mgg9-6xw2-jfgp
Oct 20, 2026
Pingora HTTP/2 :authority and Host header mismatch enables cache poisoning and host-based access control bypass
Low
Network
Low
None
None
Pingora versions prior to 0.9.0 accepted HTTP/2 requests whose Host header differed from the A remote, unauthenticated attacker can send a single HTTP/2 request that the application sees as one host and the upstream receives as another. Where request filters, access controls, or cache keys use the URI authority and the upstream routes by Host, this can lead to cache poisoning, where a response from another virtual host is stored under the victim host's cache key and served to other users, or host-based access control bypass, where a request approved for one host is served by a different virtual host on the upstream. Deployments that do not accept HTTP/2 from clients, or that do not use the request authority for security or caching decisions, are not affected. This flaw was corrected in commits 915590a91811877795531f6ba0927a3138b5cb4b and ffab8302d08d4292d1924eb8fe84647fd5cb8e76. Pingora now returns 400 Bad Request for HTTP/2 requests whose Host differs from Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.9.0
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-105297
RUSTSEC-2026-0389
GHSA-7gpj-mj4q-x62x
Oct 20, 2026
Pingora HTTP/2 server memory exhaustion through unbounded default header-list and concurrent-stream limits
High
Network
Low
None
None
Pingora versions prior to 0.8.1 used the h2 crate's default HTTP/2 server limits, a 16 MiB decoded header-list size and no limit on concurrent streams, unless the application set its own. A remote, unauthenticated client can send 1-byte HPACK references to a near-empty header, making the server allocate hundreds of thousands of header fields per stream across an unlimited number of streams on one connection, and use HTTP/2 flow control to keep those streams open. This can exhaust memory and degrade or terminate the Pingora process. This affects any Pingora service that terminates HTTP/2 (h2 or h2c) without explicitly setting This flaw was corrected in commit d193c8d49b8b7c1c1ede93183759caa4f6906bbd. When no Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.8.1
References Updated Oct 26, 2026 · Source: OSV.dev |
0.8.0
unknown
Dependencies (60)
+ 52 more
Changelog
Compare changes
|
|
0.7.0
unknown
4 CVEs
CVE-2026-105298
RUSTSEC-2026-0388
GHSA-mgg9-6xw2-jfgp
Oct 20, 2026
Pingora HTTP/2 :authority and Host header mismatch enables cache poisoning and host-based access control bypass
Low
Network
Low
None
None
Pingora versions prior to 0.9.0 accepted HTTP/2 requests whose Host header differed from the A remote, unauthenticated attacker can send a single HTTP/2 request that the application sees as one host and the upstream receives as another. Where request filters, access controls, or cache keys use the URI authority and the upstream routes by Host, this can lead to cache poisoning, where a response from another virtual host is stored under the victim host's cache key and served to other users, or host-based access control bypass, where a request approved for one host is served by a different virtual host on the upstream. Deployments that do not accept HTTP/2 from clients, or that do not use the request authority for security or caching decisions, are not affected. This flaw was corrected in commits 915590a91811877795531f6ba0927a3138b5cb4b and ffab8302d08d4292d1924eb8fe84647fd5cb8e76. Pingora now returns 400 Bad Request for HTTP/2 requests whose Host differs from Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.9.0
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-105297
RUSTSEC-2026-0389
GHSA-7gpj-mj4q-x62x
Oct 20, 2026
Pingora HTTP/2 server memory exhaustion through unbounded default header-list and concurrent-stream limits
High
Network
Low
None
None
Pingora versions prior to 0.8.1 used the h2 crate's default HTTP/2 server limits, a 16 MiB decoded header-list size and no limit on concurrent streams, unless the application set its own. A remote, unauthenticated client can send 1-byte HPACK references to a near-empty header, making the server allocate hundreds of thousands of header fields per stream across an unlimited number of streams on one connection, and use HTTP/2 flow control to keep those streams open. This can exhaust memory and degrade or terminate the Pingora process. This affects any Pingora service that terminates HTTP/2 (h2 or h2c) without explicitly setting This flaw was corrected in commit d193c8d49b8b7c1c1ede93183759caa4f6906bbd. When no Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.8.1
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-2835
GHSA-hj7x-879w-vrp7
RUSTSEC-2026-0034
Mar 05, 2026
Pingora has HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 improperly allowed HTTP/1.0 request bodies to be close-delimited and incorrectly handled multiple Transfer-Encoding values. This allows an attacker to desync Pingora's request framing from backend servers and smuggle requests to the backend. This vulnerability primarily affects standalone Pingora deployments in front of certain backends that accept HTTP/1.0 requests. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as its ingress proxy layers rejected ambiguous framing such as invalid Content-Length values and internally forwarded non-ambiguous message length framing headers. PatchesPingora 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 (commits 7f7166d62fa916b9f11b2eb8f9e3c4999e8b9023, 40c3c1e9a43a86b38adeab8da7a2f6eba68b83ad, and 87e2e2fb37edf9be33e3b1d04726293ae6bf2052). WorkaroundsAs 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. ReferencesSee CVE-2026-2835 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
CVE-2026-2833
GHSA-xq2h-p299-vjwv
RUSTSEC-2026-0033
Mar 05, 2026
Pingora vulnerable to HTTP Request Smuggling via Premature Upgrade
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 would immediately forward bytes following a request with an Upgrade header to the backend, without waiting for a 101 Switching Protocols response. This allows an attacker to smuggle requests to the backend and bypass proxy-level security controls. This vulnerability primarily affects standalone Pingora deployments where a Pingora proxy is exposed to external traffic. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as ingress proxies in the CDN stack maintain proper HTTP parsing boundaries and do not prematurely switch to upgraded connection forwarding mode. PatchesPingora users should upgrade to Pingora v0.8.0 or higher, which fixes this issue by only switching connection modes after receiving a 101 Switching Protocols response from the backend (hash 824bdeefc61e121cc8861de1b35e8e8f39026ecd). Without a 101 response, subsequent bytes continue to be parsed as HTTP requests. WorkaroundsAs a workaround, users may return an error on requests with the Upgrade header present in their request filter logic in order to stop processing bytes beyond the request header and disable downstream connection reuse. ReferencesSee CVE-2026-2833 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev |
0.7.0
unknown
Dependencies (59)
+ 51 more
Changelog
Compare changes
|
|
0.6.0
unknown
4 CVEs
CVE-2026-105298
RUSTSEC-2026-0388
GHSA-mgg9-6xw2-jfgp
Oct 20, 2026
Pingora HTTP/2 :authority and Host header mismatch enables cache poisoning and host-based access control bypass
Low
Network
Low
None
None
Pingora versions prior to 0.9.0 accepted HTTP/2 requests whose Host header differed from the A remote, unauthenticated attacker can send a single HTTP/2 request that the application sees as one host and the upstream receives as another. Where request filters, access controls, or cache keys use the URI authority and the upstream routes by Host, this can lead to cache poisoning, where a response from another virtual host is stored under the victim host's cache key and served to other users, or host-based access control bypass, where a request approved for one host is served by a different virtual host on the upstream. Deployments that do not accept HTTP/2 from clients, or that do not use the request authority for security or caching decisions, are not affected. This flaw was corrected in commits 915590a91811877795531f6ba0927a3138b5cb4b and ffab8302d08d4292d1924eb8fe84647fd5cb8e76. Pingora now returns 400 Bad Request for HTTP/2 requests whose Host differs from Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.9.0
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-105297
RUSTSEC-2026-0389
GHSA-7gpj-mj4q-x62x
Oct 20, 2026
Pingora HTTP/2 server memory exhaustion through unbounded default header-list and concurrent-stream limits
High
Network
Low
None
None
Pingora versions prior to 0.8.1 used the h2 crate's default HTTP/2 server limits, a 16 MiB decoded header-list size and no limit on concurrent streams, unless the application set its own. A remote, unauthenticated client can send 1-byte HPACK references to a near-empty header, making the server allocate hundreds of thousands of header fields per stream across an unlimited number of streams on one connection, and use HTTP/2 flow control to keep those streams open. This can exhaust memory and degrade or terminate the Pingora process. This affects any Pingora service that terminates HTTP/2 (h2 or h2c) without explicitly setting This flaw was corrected in commit d193c8d49b8b7c1c1ede93183759caa4f6906bbd. When no Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.8.1
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-2835
GHSA-hj7x-879w-vrp7
RUSTSEC-2026-0034
Mar 05, 2026
Pingora has HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 improperly allowed HTTP/1.0 request bodies to be close-delimited and incorrectly handled multiple Transfer-Encoding values. This allows an attacker to desync Pingora's request framing from backend servers and smuggle requests to the backend. This vulnerability primarily affects standalone Pingora deployments in front of certain backends that accept HTTP/1.0 requests. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as its ingress proxy layers rejected ambiguous framing such as invalid Content-Length values and internally forwarded non-ambiguous message length framing headers. PatchesPingora 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 (commits 7f7166d62fa916b9f11b2eb8f9e3c4999e8b9023, 40c3c1e9a43a86b38adeab8da7a2f6eba68b83ad, and 87e2e2fb37edf9be33e3b1d04726293ae6bf2052). WorkaroundsAs 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. ReferencesSee CVE-2026-2835 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
CVE-2026-2833
GHSA-xq2h-p299-vjwv
RUSTSEC-2026-0033
Mar 05, 2026
Pingora vulnerable to HTTP Request Smuggling via Premature Upgrade
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 would immediately forward bytes following a request with an Upgrade header to the backend, without waiting for a 101 Switching Protocols response. This allows an attacker to smuggle requests to the backend and bypass proxy-level security controls. This vulnerability primarily affects standalone Pingora deployments where a Pingora proxy is exposed to external traffic. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as ingress proxies in the CDN stack maintain proper HTTP parsing boundaries and do not prematurely switch to upgraded connection forwarding mode. PatchesPingora users should upgrade to Pingora v0.8.0 or higher, which fixes this issue by only switching connection modes after receiving a 101 Switching Protocols response from the backend (hash 824bdeefc61e121cc8861de1b35e8e8f39026ecd). Without a 101 response, subsequent bytes continue to be parsed as HTTP requests. WorkaroundsAs a workaround, users may return an error on requests with the Upgrade header present in their request filter logic in order to stop processing bytes beyond the request header and disable downstream connection reuse. ReferencesSee CVE-2026-2833 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev |
0.6.0
unknown
Dependencies (54)
+ 46 more
Changelog
Compare changes
|
|
0.5.0
unknown
6 CVEs
CVE-2026-105298
RUSTSEC-2026-0388
GHSA-mgg9-6xw2-jfgp
Oct 20, 2026
Pingora HTTP/2 :authority and Host header mismatch enables cache poisoning and host-based access control bypass
Low
Network
Low
None
None
Pingora versions prior to 0.9.0 accepted HTTP/2 requests whose Host header differed from the A remote, unauthenticated attacker can send a single HTTP/2 request that the application sees as one host and the upstream receives as another. Where request filters, access controls, or cache keys use the URI authority and the upstream routes by Host, this can lead to cache poisoning, where a response from another virtual host is stored under the victim host's cache key and served to other users, or host-based access control bypass, where a request approved for one host is served by a different virtual host on the upstream. Deployments that do not accept HTTP/2 from clients, or that do not use the request authority for security or caching decisions, are not affected. This flaw was corrected in commits 915590a91811877795531f6ba0927a3138b5cb4b and ffab8302d08d4292d1924eb8fe84647fd5cb8e76. Pingora now returns 400 Bad Request for HTTP/2 requests whose Host differs from Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.9.0
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-105297
RUSTSEC-2026-0389
GHSA-7gpj-mj4q-x62x
Oct 20, 2026
Pingora HTTP/2 server memory exhaustion through unbounded default header-list and concurrent-stream limits
High
Network
Low
None
None
Pingora versions prior to 0.8.1 used the h2 crate's default HTTP/2 server limits, a 16 MiB decoded header-list size and no limit on concurrent streams, unless the application set its own. A remote, unauthenticated client can send 1-byte HPACK references to a near-empty header, making the server allocate hundreds of thousands of header fields per stream across an unlimited number of streams on one connection, and use HTTP/2 flow control to keep those streams open. This can exhaust memory and degrade or terminate the Pingora process. This affects any Pingora service that terminates HTTP/2 (h2 or h2c) without explicitly setting This flaw was corrected in commit d193c8d49b8b7c1c1ede93183759caa4f6906bbd. When no Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.8.1
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-2835
GHSA-hj7x-879w-vrp7
RUSTSEC-2026-0034
Mar 05, 2026
Pingora has HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 improperly allowed HTTP/1.0 request bodies to be close-delimited and incorrectly handled multiple Transfer-Encoding values. This allows an attacker to desync Pingora's request framing from backend servers and smuggle requests to the backend. This vulnerability primarily affects standalone Pingora deployments in front of certain backends that accept HTTP/1.0 requests. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as its ingress proxy layers rejected ambiguous framing such as invalid Content-Length values and internally forwarded non-ambiguous message length framing headers. PatchesPingora 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 (commits 7f7166d62fa916b9f11b2eb8f9e3c4999e8b9023, 40c3c1e9a43a86b38adeab8da7a2f6eba68b83ad, and 87e2e2fb37edf9be33e3b1d04726293ae6bf2052). WorkaroundsAs 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. ReferencesSee CVE-2026-2835 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
CVE-2026-2833
GHSA-xq2h-p299-vjwv
RUSTSEC-2026-0033
Mar 05, 2026
Pingora vulnerable to HTTP Request Smuggling via Premature Upgrade
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 would immediately forward bytes following a request with an Upgrade header to the backend, without waiting for a 101 Switching Protocols response. This allows an attacker to smuggle requests to the backend and bypass proxy-level security controls. This vulnerability primarily affects standalone Pingora deployments where a Pingora proxy is exposed to external traffic. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as ingress proxies in the CDN stack maintain proper HTTP parsing boundaries and do not prematurely switch to upgraded connection forwarding mode. PatchesPingora users should upgrade to Pingora v0.8.0 or higher, which fixes this issue by only switching connection modes after receiving a 101 Switching Protocols response from the backend (hash 824bdeefc61e121cc8861de1b35e8e8f39026ecd). Without a 101 response, subsequent bytes continue to be parsed as HTTP requests. WorkaroundsAs a workaround, users may return an error on requests with the Upgrade header present in their request filter logic in order to stop processing bytes beyond the request header and disable downstream connection reuse. ReferencesSee CVE-2026-2833 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
GHSA-393w-9x6h-8gc7
Sep 17, 2025
Pingora update for MadeYouReset HTTP/2 vulnerability
High
Network
Low
None
None
Pingora deployments that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. Impact: On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. Credits: Reported responsibly by security researcher Gal Bar Nahum (@galbarnahum) Mitigation: This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users should upgrade to the latest Pingora release, which incorporates the required fixes.
Fixed in
0.6.0
References Updated Sep 17, 2025 · Source: OSV.dev
CVE-2025-8671
RUSTSEC-2025-0070
GHSA-mrjm-qq9m-9mjq
Sep 17, 2025
Pingora MadeYouReset HTTP/2 vulnerability Pingora deployments using versions prior to 0.6.0 that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users are requested to upgrade to versions >= 0.6.0, which incorporates the required fixes. Fixed in
0.6.0
References
Updated Sep 18, 2025 · Source: OSV.dev |
0.5.0
unknown
Dependencies (52)
+ 44 more
Changelog
Compare changes
|
|
0.4.0
unknown
7 CVEs
CVE-2026-105298
RUSTSEC-2026-0388
GHSA-mgg9-6xw2-jfgp
Oct 20, 2026
Pingora HTTP/2 :authority and Host header mismatch enables cache poisoning and host-based access control bypass
Low
Network
Low
None
None
Pingora versions prior to 0.9.0 accepted HTTP/2 requests whose Host header differed from the A remote, unauthenticated attacker can send a single HTTP/2 request that the application sees as one host and the upstream receives as another. Where request filters, access controls, or cache keys use the URI authority and the upstream routes by Host, this can lead to cache poisoning, where a response from another virtual host is stored under the victim host's cache key and served to other users, or host-based access control bypass, where a request approved for one host is served by a different virtual host on the upstream. Deployments that do not accept HTTP/2 from clients, or that do not use the request authority for security or caching decisions, are not affected. This flaw was corrected in commits 915590a91811877795531f6ba0927a3138b5cb4b and ffab8302d08d4292d1924eb8fe84647fd5cb8e76. Pingora now returns 400 Bad Request for HTTP/2 requests whose Host differs from Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.9.0
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-105297
RUSTSEC-2026-0389
GHSA-7gpj-mj4q-x62x
Oct 20, 2026
Pingora HTTP/2 server memory exhaustion through unbounded default header-list and concurrent-stream limits
High
Network
Low
None
None
Pingora versions prior to 0.8.1 used the h2 crate's default HTTP/2 server limits, a 16 MiB decoded header-list size and no limit on concurrent streams, unless the application set its own. A remote, unauthenticated client can send 1-byte HPACK references to a near-empty header, making the server allocate hundreds of thousands of header fields per stream across an unlimited number of streams on one connection, and use HTTP/2 flow control to keep those streams open. This can exhaust memory and degrade or terminate the Pingora process. This affects any Pingora service that terminates HTTP/2 (h2 or h2c) without explicitly setting This flaw was corrected in commit d193c8d49b8b7c1c1ede93183759caa4f6906bbd. When no Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.8.1
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-2835
GHSA-hj7x-879w-vrp7
RUSTSEC-2026-0034
Mar 05, 2026
Pingora has HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 improperly allowed HTTP/1.0 request bodies to be close-delimited and incorrectly handled multiple Transfer-Encoding values. This allows an attacker to desync Pingora's request framing from backend servers and smuggle requests to the backend. This vulnerability primarily affects standalone Pingora deployments in front of certain backends that accept HTTP/1.0 requests. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as its ingress proxy layers rejected ambiguous framing such as invalid Content-Length values and internally forwarded non-ambiguous message length framing headers. PatchesPingora 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 (commits 7f7166d62fa916b9f11b2eb8f9e3c4999e8b9023, 40c3c1e9a43a86b38adeab8da7a2f6eba68b83ad, and 87e2e2fb37edf9be33e3b1d04726293ae6bf2052). WorkaroundsAs 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. ReferencesSee CVE-2026-2835 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
CVE-2026-2833
GHSA-xq2h-p299-vjwv
RUSTSEC-2026-0033
Mar 05, 2026
Pingora vulnerable to HTTP Request Smuggling via Premature Upgrade
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 would immediately forward bytes following a request with an Upgrade header to the backend, without waiting for a 101 Switching Protocols response. This allows an attacker to smuggle requests to the backend and bypass proxy-level security controls. This vulnerability primarily affects standalone Pingora deployments where a Pingora proxy is exposed to external traffic. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as ingress proxies in the CDN stack maintain proper HTTP parsing boundaries and do not prematurely switch to upgraded connection forwarding mode. PatchesPingora users should upgrade to Pingora v0.8.0 or higher, which fixes this issue by only switching connection modes after receiving a 101 Switching Protocols response from the backend (hash 824bdeefc61e121cc8861de1b35e8e8f39026ecd). Without a 101 response, subsequent bytes continue to be parsed as HTTP requests. WorkaroundsAs a workaround, users may return an error on requests with the Upgrade header present in their request filter logic in order to stop processing bytes beyond the request header and disable downstream connection reuse. ReferencesSee CVE-2026-2833 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
GHSA-393w-9x6h-8gc7
Sep 17, 2025
Pingora update for MadeYouReset HTTP/2 vulnerability
High
Network
Low
None
None
Pingora deployments that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. Impact: On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. Credits: Reported responsibly by security researcher Gal Bar Nahum (@galbarnahum) Mitigation: This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users should upgrade to the latest Pingora release, which incorporates the required fixes.
Fixed in
0.6.0
References Updated Sep 17, 2025 · Source: OSV.dev
CVE-2025-8671
RUSTSEC-2025-0070
GHSA-mrjm-qq9m-9mjq
Sep 17, 2025
Pingora MadeYouReset HTTP/2 vulnerability Pingora deployments using versions prior to 0.6.0 that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users are requested to upgrade to versions >= 0.6.0, which incorporates the required fixes. Fixed in
0.6.0
References
Updated Sep 18, 2025 · Source: OSV.dev
CVE-2025-4366
GHSA-93c7-7xqw-w357
RUSTSEC-2025-0037
Jun 20, 2025
Pingora has a Request Smuggling Vulnerability
High
Network
High
None
A request smuggling vulnerability identified within Pingora’s proxying framework, pingora-proxy, allows malicious HTTP requests to be injected via manipulated request bodies on cache HITs, leading to unauthorized request execution and potential cache poisoning. Fixed inhttps://github.com/cloudflare/pingora/commit/fda3317ec822678564d641e7cf1c9b77ee3759ff ImpactThe issue could lead to request smuggling in cases where Pingora’s proxying framework, pingora-proxy, is used for caching allowing an attacker to manipulate headers and URLs in subsequent requests made on the same HTTP/1.1 connection. Fixed in
0.5.0
References
Updated Jun 20, 2025 · Source: OSV.dev |
0.4.0
unknown
Dependencies (53)
+ 45 more
Changelog
Compare changes
|
|
0.3.0
unknown
7 CVEs
CVE-2026-105298
RUSTSEC-2026-0388
GHSA-mgg9-6xw2-jfgp
Oct 20, 2026
Pingora HTTP/2 :authority and Host header mismatch enables cache poisoning and host-based access control bypass
Low
Network
Low
None
None
Pingora versions prior to 0.9.0 accepted HTTP/2 requests whose Host header differed from the A remote, unauthenticated attacker can send a single HTTP/2 request that the application sees as one host and the upstream receives as another. Where request filters, access controls, or cache keys use the URI authority and the upstream routes by Host, this can lead to cache poisoning, where a response from another virtual host is stored under the victim host's cache key and served to other users, or host-based access control bypass, where a request approved for one host is served by a different virtual host on the upstream. Deployments that do not accept HTTP/2 from clients, or that do not use the request authority for security or caching decisions, are not affected. This flaw was corrected in commits 915590a91811877795531f6ba0927a3138b5cb4b and ffab8302d08d4292d1924eb8fe84647fd5cb8e76. Pingora now returns 400 Bad Request for HTTP/2 requests whose Host differs from Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.9.0
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-105297
RUSTSEC-2026-0389
GHSA-7gpj-mj4q-x62x
Oct 20, 2026
Pingora HTTP/2 server memory exhaustion through unbounded default header-list and concurrent-stream limits
High
Network
Low
None
None
Pingora versions prior to 0.8.1 used the h2 crate's default HTTP/2 server limits, a 16 MiB decoded header-list size and no limit on concurrent streams, unless the application set its own. A remote, unauthenticated client can send 1-byte HPACK references to a near-empty header, making the server allocate hundreds of thousands of header fields per stream across an unlimited number of streams on one connection, and use HTTP/2 flow control to keep those streams open. This can exhaust memory and degrade or terminate the Pingora process. This affects any Pingora service that terminates HTTP/2 (h2 or h2c) without explicitly setting This flaw was corrected in commit d193c8d49b8b7c1c1ede93183759caa4f6906bbd. When no Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.8.1
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-2835
GHSA-hj7x-879w-vrp7
RUSTSEC-2026-0034
Mar 05, 2026
Pingora has HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 improperly allowed HTTP/1.0 request bodies to be close-delimited and incorrectly handled multiple Transfer-Encoding values. This allows an attacker to desync Pingora's request framing from backend servers and smuggle requests to the backend. This vulnerability primarily affects standalone Pingora deployments in front of certain backends that accept HTTP/1.0 requests. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as its ingress proxy layers rejected ambiguous framing such as invalid Content-Length values and internally forwarded non-ambiguous message length framing headers. PatchesPingora 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 (commits 7f7166d62fa916b9f11b2eb8f9e3c4999e8b9023, 40c3c1e9a43a86b38adeab8da7a2f6eba68b83ad, and 87e2e2fb37edf9be33e3b1d04726293ae6bf2052). WorkaroundsAs 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. ReferencesSee CVE-2026-2835 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
CVE-2026-2833
GHSA-xq2h-p299-vjwv
RUSTSEC-2026-0033
Mar 05, 2026
Pingora vulnerable to HTTP Request Smuggling via Premature Upgrade
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 would immediately forward bytes following a request with an Upgrade header to the backend, without waiting for a 101 Switching Protocols response. This allows an attacker to smuggle requests to the backend and bypass proxy-level security controls. This vulnerability primarily affects standalone Pingora deployments where a Pingora proxy is exposed to external traffic. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as ingress proxies in the CDN stack maintain proper HTTP parsing boundaries and do not prematurely switch to upgraded connection forwarding mode. PatchesPingora users should upgrade to Pingora v0.8.0 or higher, which fixes this issue by only switching connection modes after receiving a 101 Switching Protocols response from the backend (hash 824bdeefc61e121cc8861de1b35e8e8f39026ecd). Without a 101 response, subsequent bytes continue to be parsed as HTTP requests. WorkaroundsAs a workaround, users may return an error on requests with the Upgrade header present in their request filter logic in order to stop processing bytes beyond the request header and disable downstream connection reuse. ReferencesSee CVE-2026-2833 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
GHSA-393w-9x6h-8gc7
Sep 17, 2025
Pingora update for MadeYouReset HTTP/2 vulnerability
High
Network
Low
None
None
Pingora deployments that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. Impact: On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. Credits: Reported responsibly by security researcher Gal Bar Nahum (@galbarnahum) Mitigation: This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users should upgrade to the latest Pingora release, which incorporates the required fixes.
Fixed in
0.6.0
References Updated Sep 17, 2025 · Source: OSV.dev
CVE-2025-8671
RUSTSEC-2025-0070
GHSA-mrjm-qq9m-9mjq
Sep 17, 2025
Pingora MadeYouReset HTTP/2 vulnerability Pingora deployments using versions prior to 0.6.0 that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users are requested to upgrade to versions >= 0.6.0, which incorporates the required fixes. Fixed in
0.6.0
References
Updated Sep 18, 2025 · Source: OSV.dev
CVE-2025-4366
GHSA-93c7-7xqw-w357
RUSTSEC-2025-0037
Jun 20, 2025
Pingora has a Request Smuggling Vulnerability
High
Network
High
None
A request smuggling vulnerability identified within Pingora’s proxying framework, pingora-proxy, allows malicious HTTP requests to be injected via manipulated request bodies on cache HITs, leading to unauthorized request execution and potential cache poisoning. Fixed inhttps://github.com/cloudflare/pingora/commit/fda3317ec822678564d641e7cf1c9b77ee3759ff ImpactThe issue could lead to request smuggling in cases where Pingora’s proxying framework, pingora-proxy, is used for caching allowing an attacker to manipulate headers and URLs in subsequent requests made on the same HTTP/1.1 connection. Fixed in
0.5.0
References
Updated Jun 20, 2025 · Source: OSV.dev |
0.3.0
unknown
Dependencies (49)
+ 41 more
Changelog
Compare changes
|
|
0.2.0
unknown
7 CVEs
CVE-2026-105298
RUSTSEC-2026-0388
GHSA-mgg9-6xw2-jfgp
Oct 20, 2026
Pingora HTTP/2 :authority and Host header mismatch enables cache poisoning and host-based access control bypass
Low
Network
Low
None
None
Pingora versions prior to 0.9.0 accepted HTTP/2 requests whose Host header differed from the A remote, unauthenticated attacker can send a single HTTP/2 request that the application sees as one host and the upstream receives as another. Where request filters, access controls, or cache keys use the URI authority and the upstream routes by Host, this can lead to cache poisoning, where a response from another virtual host is stored under the victim host's cache key and served to other users, or host-based access control bypass, where a request approved for one host is served by a different virtual host on the upstream. Deployments that do not accept HTTP/2 from clients, or that do not use the request authority for security or caching decisions, are not affected. This flaw was corrected in commits 915590a91811877795531f6ba0927a3138b5cb4b and ffab8302d08d4292d1924eb8fe84647fd5cb8e76. Pingora now returns 400 Bad Request for HTTP/2 requests whose Host differs from Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.9.0
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-105297
RUSTSEC-2026-0389
GHSA-7gpj-mj4q-x62x
Oct 20, 2026
Pingora HTTP/2 server memory exhaustion through unbounded default header-list and concurrent-stream limits
High
Network
Low
None
None
Pingora versions prior to 0.8.1 used the h2 crate's default HTTP/2 server limits, a 16 MiB decoded header-list size and no limit on concurrent streams, unless the application set its own. A remote, unauthenticated client can send 1-byte HPACK references to a near-empty header, making the server allocate hundreds of thousands of header fields per stream across an unlimited number of streams on one connection, and use HTTP/2 flow control to keep those streams open. This can exhaust memory and degrade or terminate the Pingora process. This affects any Pingora service that terminates HTTP/2 (h2 or h2c) without explicitly setting This flaw was corrected in commit d193c8d49b8b7c1c1ede93183759caa4f6906bbd. When no Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.8.1
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-2835
GHSA-hj7x-879w-vrp7
RUSTSEC-2026-0034
Mar 05, 2026
Pingora has HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 improperly allowed HTTP/1.0 request bodies to be close-delimited and incorrectly handled multiple Transfer-Encoding values. This allows an attacker to desync Pingora's request framing from backend servers and smuggle requests to the backend. This vulnerability primarily affects standalone Pingora deployments in front of certain backends that accept HTTP/1.0 requests. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as its ingress proxy layers rejected ambiguous framing such as invalid Content-Length values and internally forwarded non-ambiguous message length framing headers. PatchesPingora 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 (commits 7f7166d62fa916b9f11b2eb8f9e3c4999e8b9023, 40c3c1e9a43a86b38adeab8da7a2f6eba68b83ad, and 87e2e2fb37edf9be33e3b1d04726293ae6bf2052). WorkaroundsAs 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. ReferencesSee CVE-2026-2835 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
CVE-2026-2833
GHSA-xq2h-p299-vjwv
RUSTSEC-2026-0033
Mar 05, 2026
Pingora vulnerable to HTTP Request Smuggling via Premature Upgrade
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 would immediately forward bytes following a request with an Upgrade header to the backend, without waiting for a 101 Switching Protocols response. This allows an attacker to smuggle requests to the backend and bypass proxy-level security controls. This vulnerability primarily affects standalone Pingora deployments where a Pingora proxy is exposed to external traffic. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as ingress proxies in the CDN stack maintain proper HTTP parsing boundaries and do not prematurely switch to upgraded connection forwarding mode. PatchesPingora users should upgrade to Pingora v0.8.0 or higher, which fixes this issue by only switching connection modes after receiving a 101 Switching Protocols response from the backend (hash 824bdeefc61e121cc8861de1b35e8e8f39026ecd). Without a 101 response, subsequent bytes continue to be parsed as HTTP requests. WorkaroundsAs a workaround, users may return an error on requests with the Upgrade header present in their request filter logic in order to stop processing bytes beyond the request header and disable downstream connection reuse. ReferencesSee CVE-2026-2833 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
GHSA-393w-9x6h-8gc7
Sep 17, 2025
Pingora update for MadeYouReset HTTP/2 vulnerability
High
Network
Low
None
None
Pingora deployments that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. Impact: On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. Credits: Reported responsibly by security researcher Gal Bar Nahum (@galbarnahum) Mitigation: This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users should upgrade to the latest Pingora release, which incorporates the required fixes.
Fixed in
0.6.0
References Updated Sep 17, 2025 · Source: OSV.dev
CVE-2025-8671
RUSTSEC-2025-0070
GHSA-mrjm-qq9m-9mjq
Sep 17, 2025
Pingora MadeYouReset HTTP/2 vulnerability Pingora deployments using versions prior to 0.6.0 that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users are requested to upgrade to versions >= 0.6.0, which incorporates the required fixes. Fixed in
0.6.0
References
Updated Sep 18, 2025 · Source: OSV.dev
CVE-2025-4366
GHSA-93c7-7xqw-w357
RUSTSEC-2025-0037
Jun 20, 2025
Pingora has a Request Smuggling Vulnerability
High
Network
High
None
A request smuggling vulnerability identified within Pingora’s proxying framework, pingora-proxy, allows malicious HTTP requests to be injected via manipulated request bodies on cache HITs, leading to unauthorized request execution and potential cache poisoning. Fixed inhttps://github.com/cloudflare/pingora/commit/fda3317ec822678564d641e7cf1c9b77ee3759ff ImpactThe issue could lead to request smuggling in cases where Pingora’s proxying framework, pingora-proxy, is used for caching allowing an attacker to manipulate headers and URLs in subsequent requests made on the same HTTP/1.1 connection. Fixed in
0.5.0
References
Updated Jun 20, 2025 · Source: OSV.dev |
0.2.0
unknown
Dependencies (47)
+ 39 more
Changelog
Compare changes
|
|
0.1.1
unknown
7 CVEs
CVE-2026-105298
RUSTSEC-2026-0388
GHSA-mgg9-6xw2-jfgp
Oct 20, 2026
Pingora HTTP/2 :authority and Host header mismatch enables cache poisoning and host-based access control bypass
Low
Network
Low
None
None
Pingora versions prior to 0.9.0 accepted HTTP/2 requests whose Host header differed from the A remote, unauthenticated attacker can send a single HTTP/2 request that the application sees as one host and the upstream receives as another. Where request filters, access controls, or cache keys use the URI authority and the upstream routes by Host, this can lead to cache poisoning, where a response from another virtual host is stored under the victim host's cache key and served to other users, or host-based access control bypass, where a request approved for one host is served by a different virtual host on the upstream. Deployments that do not accept HTTP/2 from clients, or that do not use the request authority for security or caching decisions, are not affected. This flaw was corrected in commits 915590a91811877795531f6ba0927a3138b5cb4b and ffab8302d08d4292d1924eb8fe84647fd5cb8e76. Pingora now returns 400 Bad Request for HTTP/2 requests whose Host differs from Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.9.0
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-105297
RUSTSEC-2026-0389
GHSA-7gpj-mj4q-x62x
Oct 20, 2026
Pingora HTTP/2 server memory exhaustion through unbounded default header-list and concurrent-stream limits
High
Network
Low
None
None
Pingora versions prior to 0.8.1 used the h2 crate's default HTTP/2 server limits, a 16 MiB decoded header-list size and no limit on concurrent streams, unless the application set its own. A remote, unauthenticated client can send 1-byte HPACK references to a near-empty header, making the server allocate hundreds of thousands of header fields per stream across an unlimited number of streams on one connection, and use HTTP/2 flow control to keep those streams open. This can exhaust memory and degrade or terminate the Pingora process. This affects any Pingora service that terminates HTTP/2 (h2 or h2c) without explicitly setting This flaw was corrected in commit d193c8d49b8b7c1c1ede93183759caa4f6906bbd. When no Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.8.1
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-2835
GHSA-hj7x-879w-vrp7
RUSTSEC-2026-0034
Mar 05, 2026
Pingora has HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 improperly allowed HTTP/1.0 request bodies to be close-delimited and incorrectly handled multiple Transfer-Encoding values. This allows an attacker to desync Pingora's request framing from backend servers and smuggle requests to the backend. This vulnerability primarily affects standalone Pingora deployments in front of certain backends that accept HTTP/1.0 requests. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as its ingress proxy layers rejected ambiguous framing such as invalid Content-Length values and internally forwarded non-ambiguous message length framing headers. PatchesPingora 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 (commits 7f7166d62fa916b9f11b2eb8f9e3c4999e8b9023, 40c3c1e9a43a86b38adeab8da7a2f6eba68b83ad, and 87e2e2fb37edf9be33e3b1d04726293ae6bf2052). WorkaroundsAs 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. ReferencesSee CVE-2026-2835 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
CVE-2026-2833
GHSA-xq2h-p299-vjwv
RUSTSEC-2026-0033
Mar 05, 2026
Pingora vulnerable to HTTP Request Smuggling via Premature Upgrade
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 would immediately forward bytes following a request with an Upgrade header to the backend, without waiting for a 101 Switching Protocols response. This allows an attacker to smuggle requests to the backend and bypass proxy-level security controls. This vulnerability primarily affects standalone Pingora deployments where a Pingora proxy is exposed to external traffic. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as ingress proxies in the CDN stack maintain proper HTTP parsing boundaries and do not prematurely switch to upgraded connection forwarding mode. PatchesPingora users should upgrade to Pingora v0.8.0 or higher, which fixes this issue by only switching connection modes after receiving a 101 Switching Protocols response from the backend (hash 824bdeefc61e121cc8861de1b35e8e8f39026ecd). Without a 101 response, subsequent bytes continue to be parsed as HTTP requests. WorkaroundsAs a workaround, users may return an error on requests with the Upgrade header present in their request filter logic in order to stop processing bytes beyond the request header and disable downstream connection reuse. ReferencesSee CVE-2026-2833 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
GHSA-393w-9x6h-8gc7
Sep 17, 2025
Pingora update for MadeYouReset HTTP/2 vulnerability
High
Network
Low
None
None
Pingora deployments that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. Impact: On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. Credits: Reported responsibly by security researcher Gal Bar Nahum (@galbarnahum) Mitigation: This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users should upgrade to the latest Pingora release, which incorporates the required fixes.
Fixed in
0.6.0
References Updated Sep 17, 2025 · Source: OSV.dev
CVE-2025-8671
RUSTSEC-2025-0070
GHSA-mrjm-qq9m-9mjq
Sep 17, 2025
Pingora MadeYouReset HTTP/2 vulnerability Pingora deployments using versions prior to 0.6.0 that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users are requested to upgrade to versions >= 0.6.0, which incorporates the required fixes. Fixed in
0.6.0
References
Updated Sep 18, 2025 · Source: OSV.dev
CVE-2025-4366
GHSA-93c7-7xqw-w357
RUSTSEC-2025-0037
Jun 20, 2025
Pingora has a Request Smuggling Vulnerability
High
Network
High
None
A request smuggling vulnerability identified within Pingora’s proxying framework, pingora-proxy, allows malicious HTTP requests to be injected via manipulated request bodies on cache HITs, leading to unauthorized request execution and potential cache poisoning. Fixed inhttps://github.com/cloudflare/pingora/commit/fda3317ec822678564d641e7cf1c9b77ee3759ff ImpactThe issue could lead to request smuggling in cases where Pingora’s proxying framework, pingora-proxy, is used for caching allowing an attacker to manipulate headers and URLs in subsequent requests made on the same HTTP/1.1 connection. Fixed in
0.5.0
References
Updated Jun 20, 2025 · Source: OSV.dev |
0.1.1
unknown
Dependencies (46)
+ 38 more
Changelog
Compare changes
|
|
0.1.0
unknown
7 CVEs
CVE-2026-105298
RUSTSEC-2026-0388
GHSA-mgg9-6xw2-jfgp
Oct 20, 2026
Pingora HTTP/2 :authority and Host header mismatch enables cache poisoning and host-based access control bypass
Low
Network
Low
None
None
Pingora versions prior to 0.9.0 accepted HTTP/2 requests whose Host header differed from the A remote, unauthenticated attacker can send a single HTTP/2 request that the application sees as one host and the upstream receives as another. Where request filters, access controls, or cache keys use the URI authority and the upstream routes by Host, this can lead to cache poisoning, where a response from another virtual host is stored under the victim host's cache key and served to other users, or host-based access control bypass, where a request approved for one host is served by a different virtual host on the upstream. Deployments that do not accept HTTP/2 from clients, or that do not use the request authority for security or caching decisions, are not affected. This flaw was corrected in commits 915590a91811877795531f6ba0927a3138b5cb4b and ffab8302d08d4292d1924eb8fe84647fd5cb8e76. Pingora now returns 400 Bad Request for HTTP/2 requests whose Host differs from Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.9.0
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-105297
RUSTSEC-2026-0389
GHSA-7gpj-mj4q-x62x
Oct 20, 2026
Pingora HTTP/2 server memory exhaustion through unbounded default header-list and concurrent-stream limits
High
Network
Low
None
None
Pingora versions prior to 0.8.1 used the h2 crate's default HTTP/2 server limits, a 16 MiB decoded header-list size and no limit on concurrent streams, unless the application set its own. A remote, unauthenticated client can send 1-byte HPACK references to a near-empty header, making the server allocate hundreds of thousands of header fields per stream across an unlimited number of streams on one connection, and use HTTP/2 flow control to keep those streams open. This can exhaust memory and degrade or terminate the Pingora process. This affects any Pingora service that terminates HTTP/2 (h2 or h2c) without explicitly setting This flaw was corrected in commit d193c8d49b8b7c1c1ede93183759caa4f6906bbd. When no Note: Cloudflare CDN customers were unaffected, as internal Pingora services at Cloudflare do not have HTTP/2 clients. Fixed in
0.8.1
References Updated Oct 26, 2026 · Source: OSV.dev
CVE-2026-2835
GHSA-hj7x-879w-vrp7
RUSTSEC-2026-0034
Mar 05, 2026
Pingora has HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 improperly allowed HTTP/1.0 request bodies to be close-delimited and incorrectly handled multiple Transfer-Encoding values. This allows an attacker to desync Pingora's request framing from backend servers and smuggle requests to the backend. This vulnerability primarily affects standalone Pingora deployments in front of certain backends that accept HTTP/1.0 requests. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as its ingress proxy layers rejected ambiguous framing such as invalid Content-Length values and internally forwarded non-ambiguous message length framing headers. PatchesPingora 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 (commits 7f7166d62fa916b9f11b2eb8f9e3c4999e8b9023, 40c3c1e9a43a86b38adeab8da7a2f6eba68b83ad, and 87e2e2fb37edf9be33e3b1d04726293ae6bf2052). WorkaroundsAs 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. ReferencesSee CVE-2026-2835 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
CVE-2026-2833
GHSA-xq2h-p299-vjwv
RUSTSEC-2026-0033
Mar 05, 2026
Pingora vulnerable to HTTP Request Smuggling via Premature Upgrade
Critical
Network
Low
None
None
ImpactPingora versions prior to 0.8.0 would immediately forward bytes following a request with an Upgrade header to the backend, without waiting for a 101 Switching Protocols response. This allows an attacker to smuggle requests to the backend and bypass proxy-level security controls. This vulnerability primarily affects standalone Pingora deployments where a Pingora proxy is exposed to external traffic. An attacker could exploit this to bypass proxy-level ACL controls and WAF logic, poison caches and upstream connections, or perform cross-user attacks by hijacking sessions. Note: Cloudflare customers and Cloudflare's CDN infrastructure were not affected by this vulnerability, as ingress proxies in the CDN stack maintain proper HTTP parsing boundaries and do not prematurely switch to upgraded connection forwarding mode. PatchesPingora users should upgrade to Pingora v0.8.0 or higher, which fixes this issue by only switching connection modes after receiving a 101 Switching Protocols response from the backend (hash 824bdeefc61e121cc8861de1b35e8e8f39026ecd). Without a 101 response, subsequent bytes continue to be parsed as HTTP requests. WorkaroundsAs a workaround, users may return an error on requests with the Upgrade header present in their request filter logic in order to stop processing bytes beyond the request header and disable downstream connection reuse. ReferencesSee CVE-2026-2833 and the Cloudflare blog post for more details. CreditsDisclosed responsibly by Rajat Raghav (@xclow3n) through the Cloudflare Bug Bounty Program. Fixed in
0.8.0
References Updated Mar 09, 2026 · Source: OSV.dev
GHSA-393w-9x6h-8gc7
Sep 17, 2025
Pingora update for MadeYouReset HTTP/2 vulnerability
High
Network
Low
None
None
Pingora deployments that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. Impact: On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. Credits: Reported responsibly by security researcher Gal Bar Nahum (@galbarnahum) Mitigation: This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users should upgrade to the latest Pingora release, which incorporates the required fixes.
Fixed in
0.6.0
References Updated Sep 17, 2025 · Source: OSV.dev
CVE-2025-8671
RUSTSEC-2025-0070
GHSA-mrjm-qq9m-9mjq
Sep 17, 2025
Pingora MadeYouReset HTTP/2 vulnerability Pingora deployments using versions prior to 0.6.0 that include HTTP/2 server support may be affected by the vulnerability described in CVE-2025-8671. Under certain conditions, Pingora applications may allocate buffers before the HTTP/2 reset and resulting stream cancellation is processed by the server. Repeated resets can force excessive memory consumption and lead to denial-of-service. On affected versions, malicious clients could trigger unusually high memory consumption, which may result in service instability or process termination. This issue is addressed by ensuring Pingora uses patched versions of HTTP/2 dependencies that include reset-handling safeguards to release connection resources before excessive memory buildup. Users are requested to upgrade to versions >= 0.6.0, which incorporates the required fixes. Fixed in
0.6.0
References
Updated Sep 18, 2025 · Source: OSV.dev
CVE-2025-4366
GHSA-93c7-7xqw-w357
RUSTSEC-2025-0037
Jun 20, 2025
Pingora has a Request Smuggling Vulnerability
High
Network
High
None
A request smuggling vulnerability identified within Pingora’s proxying framework, pingora-proxy, allows malicious HTTP requests to be injected via manipulated request bodies on cache HITs, leading to unauthorized request execution and potential cache poisoning. Fixed inhttps://github.com/cloudflare/pingora/commit/fda3317ec822678564d641e7cf1c9b77ee3759ff ImpactThe issue could lead to request smuggling in cases where Pingora’s proxying framework, pingora-proxy, is used for caching allowing an attacker to manipulate headers and URLs in subsequent requests made on the same HTTP/1.1 connection. Fixed in
0.5.0
References
Updated Jun 20, 2025 · Source: OSV.dev |