CVE-2026-105299 in Pingorainformazioni

Riassunto

di VulDB • 20/10/2026

Prima della versione 0.9.0, il percorso HTTP/1 per l'upstream in pingora-proxy inoltrava la richiesta downstream attraverso `upstream_request_filter` e la scriveva verso l'upstream senza rimuovere l'intestazione Connection del client, altre intestazioni hop-by-hop o le intestazioni nominate da Connection, sebbene RFC 9110 Sezione 7.6.1 richieda agli intermediari di rimuoverle. Il percorso HTTP/2 per l'upstream già rimoveva Connection e le relative intestazioni specifiche di HTTP/1. Un client poteva quindi nominare un'intestazione che l'applicazione aggiunge in `upstream_request_filter` (ad esempio, `Connection: keep-alive`, `X-Forwarded-For`). Un intermediario downstream HTTP/1 che onora Connection avrebbe poi rimosso l'intestazione aggiunta da Pingora prima che raggiungesse l'origine.

Impatto

Colpisce specificamente le distribuzioni in catena dove un intermediario HTTP/1 tra Pingora e l'origine elabora le nomination di Connection (ad esempio, `Go's net/http/httputil.ReverseProxy`) e l'origine si fida delle intestazioni aggiunte da tale intermediario (ad esempio, `X-Forwarded-For` per l'autorizzazione basata su IP). Un attaccante remoto non autenticato può far rimuovere queste intestazioni, potenzialmente aggirando l'autorizzazione. Il segnalatore ha dimostrato di aver ottenuto accesso a un endpoint limitato agli IP utilizzando `X-Forwarded-For` con validazione dell'IP sull'origine. Si tratta della stessa classe di problema di CVE-2022-31813 in Apache HTTP Server.

Si noti che i clienti Cloudflare CDN non sono stati interessati, poiché non esiste alcuna distribuzione in catena come descritta sopra con i servizi interni Pingora e le intestazioni Connection vengono sanificate prima di arrivare ai gateway Pingora.

Mitigazione: * Aggiornare a pingora versione 0.9.0 o successiva. Per impostazione predefinita, Pingora ora rimuove le intestazioni hop-by-hop e quelle nominate da Connection dalle richieste upstream, e rifiuta le richieste la cui intestazione Connection nomina Host, X-Forwarded-For, X-Forwarded-Host, X-Forwarded-Proto o un pseudo-header. Questo è controllato da `PeerOptions::http_upstream_request_policy` (HttpUpstreamRequestPolicy). Commit di correzione: https://github.com/cloudflare/pingora/commit/28c18e6b6b04dd0bd937234e5950049e6d74cded , https://github.com/cloudflare/pingora/commit/ca23f1668eca8e78be7ba62ef0edbd458b40eeee

*

Non utilizzare `HttpUpstreamRequestPolicy::preserve()` se l'origine si affida alle intestazioni aggiunte da Pingora; questo ripristina il vecchio comportamento di passaggio diretto.


*

Se non è possibile effettuare l'aggiornamento: in `upstream_request_filter`, rimuovere l'intestazione Connection e tutte le intestazioni che essa nomina prima di aggiungere le intestazioni attendibili.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Fonti

Want to stay up to date on a daily basis?

Enable the mail alert feature now!