VYPR
High severityNVD Advisory· Published Mar 4, 2026· Updated Mar 6, 2026

Cache poisoning via insecure-by-default cache key

CVE-2026-2836

Description

A cache poisoning vulnerability has been found in the Pingora HTTP proxy framework’s default cache key construction. The issue occurs because the default HTTP cache key implementation generates cache keys using only the URI path, excluding critical factors such as the host header (authority). Operators relying on the default are vulnerable to cache poisoning, and cross-origin responses may be improperly served to users.

Impact

This vulnerability affects users of Pingora's alpha proxy caching feature who relied on the default CacheKey implementation. An attacker could exploit this for:

  • Cross-tenant data leakage: In multi-tenant deployments, poison the cache so that users from one tenant receive cached responses from another tenant
  • Cache poisoning attacks: Serve malicious content to legitimate users by poisoning shared cache entries

Cloudflare's CDN infrastructure was not affected by this vulnerability, as Cloudflare's default cache key implementation uses multiple factors to prevent cache key poisoning and never made use of the previously provided default.

Mitigation:

We strongly recommend Pingora users to upgrade to Pingora v0.8.0 or higher, which removes the insecure default cache key implementation. Users must now explicitly implement their own callback that includes appropriate factors such as Host header, origin server HTTP scheme, and other attributes their cache should vary on.

Pingora users on previous versions may also remove any of their default CacheKey usage and implement their own that should at minimum include the host header / authority and upstream peer’s HTTP scheme.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Pingora HTTP proxy framework's default cache key uses only URI path, enabling cache poisoning and cross-tenant data leakage; upgrade to v0.8.0+ to fix.

Root Cause: The default cache key implementation in Pingora's proxy caching feature constructs keys using only the URI path, omitting critical factors such as the Host header (authority) [1][2]. This design flaw allows an attacker to craft requests that share the same cache key as a different origin, leading to cache poisoning [4].

Exploitation: An attacker can exploit this by sending a request with a manipulated URI path that matches a legitimate resource from another tenant or origin, while the Host header differs [1]. No authentication is required; the attack is network-based with low complexity [2]. The vulnerability affects multi-tenant deployments where shared cache entries can be poisoned [4].

Impact: Successful exploitation enables cross-tenant data leakage, where users from one tenant receive cached responses intended for another tenant [1]. Additionally, an attacker can serve malicious content to legitimate users by poisoning shared cache entries, compromising integrity and confidentiality [2][4].

Mitigation: Pingora v0.8.0 removes the insecure default CacheKey implementation [1][4]. Users must upgrade and explicitly implement a custom cache key callback that includes at minimum the Host header and upstream peer's HTTP scheme [2]. Cloudflare's CDN was never affected as it uses a multi-factor cache key [1].

AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
pingora-cachecrates.io
< 0.8.00.8.0

Affected products

2
  • Range: <0.8.0
  • Cloudflare/https://github.com/cloudflare/pingorav5
    Range: 0

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

4

News mentions

0

No linked articles in our index yet.