{"id":208316,"date":"2026-03-09T21:58:26","date_gmt":"2026-03-09T20:58:26","guid":{"rendered":"https:\/\/liora.io\/en\/pingora-http-smuggling-poisoning"},"modified":"2026-03-09T21:58:26","modified_gmt":"2026-03-09T20:58:26","slug":"pingora-http-smuggling-poisoning","status":"publish","type":"post","link":"https:\/\/liora.io\/en\/pingora-http-smuggling-poisoning","title":{"rendered":"Exposing Pingora\u2019s Hidden HTTP Smuggling and Poisoning Nightmare!"},"content":{"rendered":"<p>The vulnerabilities, designated as <b>CVE-2026-2833<\/b>, <b>CVE-2026-2835<\/b>, and <b>CVE-2026-2836<\/b>, expose organizations using self-hosted Pingora deployments to severe security risks including bypass of security controls, credential theft, and web cache poisoning, according to a <b>Cloudflare blog post<\/b>.<\/p><br><p>The most critical flaw involves Pingora&#8217;s handling of HTTP upgrade requests. When receiving requests with an Upgrade header, the framework would prematurely switch to passthrough mode before the backend server accepted the protocol change. This allowed attackers to smuggle malicious requests that bypassed Pingora&#8217;s security controls entirely.<\/p><br><p>A second vulnerability stemmed from incorrect parsing of <b>HTTP\/1.0 requests<\/b> containing Transfer-Encoding headers, which are forbidden by RFC standards. Instead of rejecting these requests, Pingora would misinterpret the request length, creating a discrepancy with compliant backend servers that could be exploited for request smuggling attacks.<\/p><br><p>The third issue affected Pingora&#8217;s alpha-stage caching feature, where cache keys were generated using only the URI path without considering the Host header or HTTP scheme. This meant an attacker could poison the cache for one domain and have that malicious content served to users visiting a completely different site.<\/p>\n\n<h2 style=\"margin-top:2rem;margin-bottom:1rem;\">Cloudflare Infrastructure Protected<\/h2><figure class=\"wp-block-image size-large\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"572\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-1024x572.jpg\" alt=\"View of a data center server rack displaying networking equipment and cables.\" class=\"wp-image-208314\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-56x56.jpg 56w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-115x64.jpg 115w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-150x150.jpg 150w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-210x117.jpg 210w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-300x167.jpg 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-410x270.jpg 410w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-440x246.jpg 440w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-448x448.jpg 448w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-587x510.jpg 587w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-768x429.jpg 768w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-785x438.jpg 785w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-1024x572.jpg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-1250x590.jpg 1250w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-1440x680.jpg 1440w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-1536x857.jpg 1536w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-2048x1143.jpg 2048w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2026\/03\/server-room-networking-technology-scaled.jpg 2560w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><\/figure>\n\n<p><b>Cloudflare<\/b> confirmed its production CDN services were never vulnerable due to its defense-in-depth architecture. The company explained that Pingora is not used as the primary internet-facing proxy in its CDN, and upstream proxies normalize traffic before it reaches internal Pingora instances. Additionally, Cloudflare has always used robust, multi-factor cache keys rather than the insecure default implementation.<\/p><br><p>The vulnerabilities have been fully addressed in <b>Pingora version 0.8.0<\/b>. The update corrects the Upgrade logic to switch modes only after receiving proper confirmation from upstream servers, hardens the HTTP parser to reject non-compliant requests, and removes the insecure default cache key implementation entirely.<\/p><br><p>Organizations running self-hosted Pingora deployments should upgrade immediately to version <b>0.8.0 or later<\/b>. When implementing proxy caching, administrators must ensure cache keys comprehensively identify resources based on all relevant parameters including scheme, host, path, and varying headers.<\/p>","protected":false},"excerpt":{"rendered":"<p>Security researcher Rajat Raghav discovered three critical vulnerabilities in the open-source Pingora framework that could let attackers hijack user sessions and poison web caches. The flaws, disclosed in March 2026, affect all self-hosted Pingora deployments prior to version 0.8.0 when used as internet-facing proxies. Pingora has released version 0.8.0 to fix the vulnerabilities, while Cloudflare confirmed its CDN services were not affected.<\/p>\n","protected":false},"author":87,"featured_media":208315,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2417],"class_list":["post-208316","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/posts\/208316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/users\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/comments?post=208316"}],"version-history":[{"count":0,"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/posts\/208316\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/media\/208315"}],"wp:attachment":[{"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/media?parent=208316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/categories?post=208316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}