Skip to content

← Public intelligence

crates.io package

pingora-core

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

6 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. Medium, CVSS 6.3crates.ioPublished

    Pingora HTTP/2 :authority and Host header mismatch enables cache poisoning and host-based access control bypass

    CVE-2026-105298 · GHSA-mgg9-6xw2-jfgp

    Affected
    • crates.io pingora-core >= 0.0.0-0, < 0.9.0
    Fixed in
    0.9.0· Vendor fix available
    Issue
    Pingora versions prior to 0.9.0 accepted HTTP/2 requests whose Host header differed from the `:authority` pseudo-header. Request filters, cache keys, and logs that read the request URI (`session.req_header().uri`) saw the `:authority` value, but the upstream received the client-supplied Host value. Pingora also accepted `:authority` values containing userinfo (for example, `user@example.com`). This violates RFC 9113 Section 8.3.1, which requires an intermediary to use the `:authority` value for Host and replace any existing Host field. 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…

    Recommended action: Upgrade to 0.9.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.devSource checked Evidence →
  2. High, CVSS 8.7crates.ioPublished

    Pingora HTTP/2 server memory exhaustion through unbounded default header-list and concurrent-stream limits

    CVE-2026-105297 · GHSA-7gpj-mj4q-x62x

    Affected
    • crates.io pingora-core >= 0.0.0-0, < 0.8.1
    Fixed in
    0.8.1· Vendor fix available
    Issue
    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 `max_header_list_size` and `max_concurrent_streams`. The reporter showed that a single connection could get a Pingora process with a 2 GiB memory limit OOM-killed. This flaw was corrected in commit d193c8d49b8b7c1c1ede93183759caa4f6906bbd. When no `H2Options` are supplied, Pingora now advertises and enforces a 64 KiB decoded header-list limit and at most 100…

    Recommended action: Upgrade to 0.8.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.devSource checked Evidence →
  3. Critical, CVSS 9.3crates.ioPublished

    Pingora has HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing

    CVE-2026-2835 · GHSA-hj7x-879w-vrp7

    Affected
    • crates.io pingora-core <= 0.7.0
    Fixed in
    0.8.0· Vendor fix available
    Issue
    Impact Pingora 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. Patches 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…

    Recommended action: Upgrade to 0.8.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  4. Critical, CVSS 9.3crates.ioPublished

    Pingora vulnerable to HTTP Request Smuggling via Premature Upgrade

    CVE-2026-2833 · GHSA-xq2h-p299-vjwv

    Affected
    • crates.io pingora-core <= 0.7.0
    Fixed in
    0.8.0· Vendor fix available
    Issue
    Impact Pingora 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. Patches Pingora 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…

    Recommended action: Upgrade to 0.8.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  5. High, CVSS 8.2crates.ioPublished

    Pingora update for MadeYouReset HTTP/2 vulnerability

    GHSA-393w-9x6h-8gc7

    Affected
    • crates.io pingora-core < 0.6.0
    Fixed in
    0.6.0· Vendor fix available
    Issue
    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. - Users are requested to upgrade to latest version of Pingora = 0.6.0

    Recommended action: Upgrade to 0.6.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  6. High, CVSS 7.4crates.ioPublished

    Pingora has a Request Smuggling Vulnerability

    CVE-2025-4366 · GHSA-93c7-7xqw-w357

    Affected
    • crates.io pingora-core < 0.5.0
    Fixed in
    0.5.0· Vendor fix available
    Issue
    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 in https://github.com/cloudflare/pingora/commit/fda3317ec822678564d641e7cf1c9b77ee3759ff Impact The 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.

    Recommended action: Upgrade to 0.5.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →