Wysoki Odebrany

CVE-2026-105299

opublikowano:
modyfikacja:
Ocena CVSS
8.7
Wysoki · v3.1
wektor: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

Podsumowanie



Przed wersją 0.9.0 ścieżka nadrzędna HTTP/1 w pingora-proxy przepuszczała żądanie podrzędne przez upstream_request_filter i zapisywała je w górę bez usuwania nagłówka połączenia klienta, innych nagłówków przeskoków lub nagłówków nominowanych do połączenia, chociaż RFC 9110 sekcja 7.6.1 wymaga od pośredników ich usunięcia. Ze ścieżki przesyłania danych HTTP/2 usunięto już połączenie i powiązane nagłówki specyficzne dla protokołu HTTP/1. Klient może zatem wyznaczyć nagłówek, który aplikacja doda w upstream_request_filter (na przykład Connection: keep-alive, X-Forwarded-For). Dalszy pośrednik HTTP/1, który honoruje połączenie, usunąłby następnie nagłówek dodany przez Pingorę, zanim dotarłby do źródła.




Wpływ



Dotyczy to w szczególności wdrożeń łańcuchowych, w których pośrednik HTTP/1 między Pingorą a źródłem przetwarza nominacje połączeń (na przykład Go's net/http/httputil.ReverseProxy) i nagłówki pochodzenia zaufane dodane przez tego pośrednika (na przykład X-Forwarded-For dla autoryzacji opartej na protokole IP). Zdalny, nieuwierzytelniony atakujący może usunąć te nagłówki, potencjalnie omijając autoryzację. Reporter zademonstrował dostęp do punktu końcowego z ograniczonym adresem IP przy użyciu X-Forwarded-For w celu sprawdzenia adresu IP na źródle. Jest to problem tej samej klasy co CVE-2022-31813 w Apache HTTP Server.




Należy pamiętać, że nie miało to wpływu na klientów Cloudflare CDN, ponieważ nie ma takiego wdrożenia łańcuchowego, jak opisano powyżej, w przypadku wewnętrznych usług Pingora, a nagłówki połączeń są czyszczone przed dotarciem do bram Pingora.



Łagodzenie:

*

Uaktualnij do wersji pingora 0.9.0 lub nowszej. Domyślnie Pingora usuwa teraz nagłówki typu „hop-by-hop” i nominowane przez połączenie z żądań nadrzędnych i odrzuca żądania, których nagłówek połączenia wskazuje Host, X-Forwarded-For, X-Forwarded-Host, X-Forwarded-Proto lub pseudonagłówek. Jest to kontrolowane przez PeerOptions::http_upstream_request_policy (HttpUpstreamRequestPolicy). Napraw zatwierdzenia: https://github.com/cloudflare/pingora/commit/28c18e6b6b04dd0bd937234e5950049e6d74cded , https://github.com/cloudflare/pingora/commit/ca23f1668eca8e78be7ba62ef0edbd458b40eeee


*

Nie używaj HttpUpstreamRequestPolicy::preserve(), jeśli źródło opiera się na nagłówkach dodanych przez Pingorę; przywraca stare zachowanie przekazywania.


*

Jeśli nie możesz dokonać aktualizacji: w upstream_request_filter usuń nagłówek Connection i wszystkie nagłówki, które wyznacza, przed dodaniem zaufanych nagłówków.

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org