CVE-2026-105299: Cloudflare Pingora HTTP/1 Connection header bypass

CVE-2026-105299 · Severity: high · CVSS 8.7 · Published 2026-10-20

Pingora is a reverse proxy used to route traffic between clients and origin servers. Before version 0.9.0, Pingora failed to remove HTTP Connection headers and headers they nominate when forwarding requests to upstream servers via HTTP/1, allowing attackers to strip security headers added by Pingora (such as X-Forwarded-For used for IP-based authorization) in chained proxy deployments. This could enable bypass of IP-based access controls or other origin trust policies.

Technologies: Cloudflare Pingora. Vendors: Cloudflare, crates.io.

Quick answers

Is CVE-2026-105299 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-105299 being exploited in the wild.
How severe is CVE-2026-105299?
High severity, with a CVSS score of 8.7, published 20 October 2026.
Which products and versions are affected?
Cloudflare Pingora before 0.9.0; pingora-proxy (crates.io) SEMVER:introduced=0.0.0-0,fixed=0.9.0.
Is there a fix for CVE-2026-105299?
Yes. pingora-proxy (crates.io): upgrade to 0.9.0 or later. Until then: If unable to upgrade, remove the Connection header and all headers it nominates in upstream_request_filter before adding trusted headers. Do not use HttpUpstreamRequestPolicy::preserve() as it restores the vulnerable passthrough behavior.</anigation> <parameter name="attack_vector">["network"] Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-105299 attacked?
It is in a software library.
Am I affected by CVE-2026-105299?
Check whether you run Cloudflare Pingora or pingora-proxy (crates.io) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • pingora-proxy (crates.io): upgrade to 0.9.0 or later
    cargo update -p pingora-proxy

If unable to upgrade, remove the Connection header and all headers it nominates in upstream_request_filter before adding trusted headers. Do not use HttpUpstreamRequestPolicy::preserve() as it restores the vulnerable passthrough behavior.</anigation> <parameter name="attack_vector">["network"]

Technical details

The HTTP/1 upstream code path in Pingora before 0.9.0 passed downstream requests through upstream_request_filter and forwarded them without removing Connection headers or the headers they nominate, violating RFC 9110 Section 7.6.1. An attacker can craft a Connection header nominating a security-sensitive header (e.g., X-Forwarded-For) that Pingora adds, causing an intermediate HTTP/1 proxy between Pingora and origin to strip it before reaching the origin, bypassing origin-side authorization checks. HTTP/2 upstream path was unaffected as it already removed these headers.

Affected products

  • Cloudflare Pingora before 0.9.0

Identifiers

  • CVE-2026-105299
  • GHSA-vx4q-2c55-cvmg
  • RUSTSEC-2026-0390

Timeline

  • 2026-10-20: disclosed

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.