CVE-2026-71569
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Luka w zabezpieczeniach polegająca na fałszowaniu żądań po stronie serwera (SSRF) w komponencie Apache Camel A2A.
Ten problem dotyczy Apache Camel: od 4.21.0 do 4.22.2.
WebhookUrlValidator sklasyfikował hosta webhooka z powiadomieniami push w dwóch miejscach, które nie były ze sobą zgodne. Host zapisany jako literał IP został porównany z listą prefiksów łańcuchowych, które określały unikalny zakres lokalny IPv6 fc00::/7, natomiast host, do którego można dotrzeć poprzez nazwę, został rozpoznany, a wynikowy adres sklasyfikowany za pomocą predykatów InetAddress isLoopbackAddress, isAnyLocalAddress, isLinkLocalAddress i isSiteLocalAddress. Te predykaty nie obejmują tego samego obszaru, co lista prefiksów: isSiteLocalAddress zgłasza przestarzały blok fec0::/10, a nie unikalne adresy lokalne fc00::/7, które go zastąpiły, a JDK w ogóle nie zawiera dla nich predykatów. Dlatego ten sam adres został zaakceptowany lub odrzucony w zależności od sposobu jego zapisania, a adres URL webhooka, którego nazwa hosta została zmieniona na fc00::/7, przeszedł przez strażnika, który odrzucił identyczny adres podany w formie dosłownej. Następnie PushNotificationDispatcher wysłał powiadomienie push na ten adres wraz z dowolnym nagłówkiem autoryzacji znajdującym się w tej samej konfiguracji, którego schemat i dane uwierzytelniające dostarcza rejestrujący się obiekt wywołujący. Adres URL elementu webhook przychodzi jako TaskPushNotificationConfig.url od obiektu wywołującego rejestrującego powiadomienie wypychane, więc jest kontrolowany przez osobę atakującą, a parametrallowLocalWebhookUrls ma domyślnie wartość false, czyli jest to konfiguracja, w której oczekuje się, że strażnik będzie utrzymywał. Odpowiedź nie jest przekazywana z powrotem do osoby wywołującej, która zarejestrowała konfigurację, więc w wyniku luki powstaje ślepe wychodzące żądanie HTTPS z procesu Camel na adres wewnętrzny, który strażnik miał odmówić; dotarcie do usługi w ten sposób dodatkowo wymaga, aby nazwa została rozwiązana na fc00::/7 w środowisku docelowym, aby usługa HTTPS nasłuchiwała na tym adresie i aby uzgadnianie TLS dla żądanej nazwy powiodło się, dlatego ważność jest oceniana jako średnia. Ta sama wstępna kontrola ciągu wykazała błąd także w drugą stronę: dopasowała surowy ciąg hosta bez uprzedniego ustalenia, czy host jest literałem IP, więc każda nazwa zaczynająca się od fc lub fd, taka jak fcm.googleapis.com, była natychmiast odrzucana.
Użytkownikom zaleca się aktualizację do wersji 4.23.0, która rozwiązuje problem. Jeśli użytkownicy korzystają ze strumienia wydań 4.22.x, sugeruje się im aktualizację do wersji 4.22.2. Wersja 4.21.x dobiegła końca przed rozwiązaniem tego problemu i nie otrzyma poprawki, więc wdrożenia w tej wersji muszą zostać przeniesione do obsługiwanej wersji. Zarówno literał, jak i rozwiązana ścieżka klasyfikują teraz adres na podstawie jego nieprzetworzonych bajtów za pomocą jednego współdzielonego klasyfikatora, który rozpoznaje fc00::/7 i współdzieloną przestrzeń adresową 100.64.0.0/10, a także adresy zgodne z IPv4, NAT64 (64:ff9b::/96) i 6to4 (2002::/16), których osadzony adres IPv4 nie jest rutowany globalnie. W przypadku wdrożeń, których nie można uaktualnić natychmiast, umieść uwierzytelnianie przed ścieżką konfiguracji powiadomień wypychanych A2A, aby adres URL elementu webhook nie pochodził od niezaufanego obiektu wywołującego, i odmów wyjścia z procesu Camel do fc00::/7 na poziomie sieci; gdzie wdrożenie nie wymaga protokołu IPv6, uruchomienie maszyny JVM z opcją -Djava.net.preferIPv4Stack=true usuwa klasę adresu, którą włącza luka. Należy pamiętać, że parametrallowLocalWebhookUrls=false jest już wartością domyślną i sam w sobie nie zamyka luki.
>_ Słabości (CWE)
>_ 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