CVE-2026-78164
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 38 - wyżej niż 38% wszystkich znanych CVE
Streszczenie
Podatność w komponentach Apache Camel HTTP, Netty HTTP, Undertow i Vert.x HTTP pozwala nadawcy wiadomości nadpisać URI endpointu nagłówkami CamelHttpUri i CamelRestHttpUri, a następnie rozwiązać w tym ciągu placeholdery konfiguracji (zmienne środowiskowe, właściwości systemowe, funkcje sekretów, wywołania beanów). Może to prowadzić do ujawnienia wrażliwych informacji i nieoczekiwanego wywołania metod beanów. Problem dotyczy wersji Apache Camel od 4.0.0 do 4.18.5 oraz od 4.19.0 do 4.22.1.
Ocena ryzyka
Organizacja może ponieść ryzyko wycieku sekretów i danych konfiguracyjnych oraz nieautoryzowanego wywołania metod beanów, jeśli trasy Camel HTTP przetwarzają wiadomości od niezaufanych nadawców. Opcja bridgeEndpoint nie ogranicza tego ryzyka.
Rekomendacja
Zaktualizuj Apache Camel do wersji 4.23.0, 4.22.1 lub 4.18.5 (starsze linie 4.14.x i wcześniejsze nie otrzymają poprawki). Jeśli aktualizacja nie jest możliwa, usuń nagłówki CamelHttpUri i CamelRestHttpUri na granicy zaufania lub ustaw skipControlHeaders=true w camel-http.
Inne podatności w Apache Camel
Zobacz wszystkie- CVE-2015-5348Wysokie
Apache Camel w wersjach od 2.6.x do 2.14.x, 2.15.x przed 2.15.5 oraz 2.16.x przed 2.16.1, przy użyciu camel-jetty lub camel-servlet jako konsumentów w trasach Camel, umożliwia zdalnym atakującym wykonanie dowolnych poleceń za pomocą spreparowanego zserializowanego obiektu Java w żądaniu HTTP.
- CVE-2014-0002Wysokie
Komponent XSLT w Apache Camel przed wersją 2.11.4 oraz 2.12.x przed wersją 2.12.3 umożliwia zdalnym atakującym odczyt dowolnych plików oraz potencjalnie inne nieokreślone skutki poprzez dokument XML zawierający deklarację zewnętrznego bytu w połączeniu z odniesieniem do bytu, co jest związane z problemem XML External Entity (XXE).
- CVE-2026-78162Krytyczne
Podatność deserializacji niezaufanych danych w Apache Camel dotyczy komponentu camel-hazelcast. Dwie ścieżki konfiguracji (ReplicatedHazelcastAggregationRepository oraz tryb klienta w HazelcastDefaultComponent) nie stosują filtra JavaSerializationFilterConfig, co pozwala atakującemu na zdalne wykonanie kodu poprzez wstrzyknięcie złośliwego obiektu Java do klastra Hazelcast.
- CVE-2026-71300Krytyczne
Podatność w Apache Camel Atmosphere Websocket component wynika z nieprawidłowej walidacji nagłówków Exchange, które nie należą do przestrzeni nazw Camel (websocket.connectionKey, websocket.connectionKey.list, websocket.sendToAll, websocket.eventType, websocket.errorType). Zewnętrzny atakujący może dostarczyć nagłówek listy przez HTTP i przejąć decyzję o routingu wiadomości do WebSocket, co może prowadzić do pominięcia lub przekierowania powiadomień do innego klienta.
- CVE-2026-66906Krytyczne
Podatność typu Relative Path Traversal w komponencie Apache Camel Azure Storage Blob umożliwia zapis pliku poza skonfigurowanym katalogiem podczas operacji downloadBlobToFile. Nazwa blobu z segmentami katalogu nadrzędnego nie jest normalizowana, co pozwala na nadpisanie dowolnego pliku w systemie plików z uprawnieniami procesu Camel.
- CVE-2026-56140Krytyczne
W komponencie Apache Camel AWS SNS wykryto brak filtra dla nagłówków przychodzących w strategii Sns2HeaderFilterStrategy. Podatność nie jest jednak osiągalna, ponieważ komponent jest wyłącznie produkcyjny (nie obsługuje konsumentów), więc atakujący nie może dostarczyć zewnętrznych atrybutów wiadomości do Camel Exchange. Mimo to dodano filtr defensywny dla spójności z innymi strategiami.
- CVE-2026-53913Krytyczne
W komponencie camel-keycloak Apache Camel wykryto podatność polegającą na pomijaniu weryfikacji tokena dostępu w domyślnej konfiguracji. Gdy wymagane role lub uprawnienia są puste, token nie jest weryfikowany kryptograficznie, co pozwala na dostęp do chronionych tras z dowolnym nagłówkiem Authorization.
- CVE-2026-48205Krytyczne
Podatność w komponencie DNS Apache Camel umożliwia atak SSRF poprzez nieprawidłową walidację nagłówków wiadomości. Atakujący może ustawić nagłówki dns.server, dns.name i dns.domain w żądaniu HTTP, co prowadzi do przekierowania zapytań DNS na kontrolowany serwer i ujawnienia wewnętrznych nazw hostów.
- CVE-2026-48204Krytyczne
Podatność w Apache Camel w komponencie mongodb-gridfs pozwala atakującemu na manipulację operacjami GridFS poprzez nagłówki HTTP. Brak walidacji wejścia i kontroli dostępu umożliwia nieautoryzowane usuwanie, odczyt lub wyliczanie plików oraz wstrzykiwanie operatorów NoSQL.
- CVE-2026-48203Krytyczne
Podatność w komponencie Apache Camel Solr umożliwia ataki typu SSRF oraz wstrzykiwanie parametrów i pól do zapytań Solr. Nagłówki Exchange z prefiksami SolrParam. i SolrField. są przekazywane bez filtrowania z żądań HTTP do producenta Solr, co pozwala atakującemu na manipulację zapytaniami i dokumentami indeksowanymi.
Oryginalny opis (angielski, źródło NVD)
Improper Neutralization of Special Elements Used in a Template Engine and Exposure of Sensitive Information to an Unauthorized Actor vulnerability in Apache Camel HTTP, Netty HTTP, Undertow and Vert.x HTTP components. This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1. The Camel HTTP producer families let an inbound message override the endpoint URI through the CamelHttpUri and CamelRestHttpUri headers, and then passed that message-supplied string through CamelContext.resolvePropertyPlaceholders() before using it. Property-placeholder resolution is a configuration-resolution facility, not a URI-parsing step: it reaches operating-system environment variables, JVM system properties, every PropertiesFunction registered on the classpath - including the secret functions - and, through camel-bean, the invocation of a no-argument method on any bean in the registry. Applying it to Exchange content therefore turned a URI string into a configuration- and bean-evaluation context. A route author opted into none of this: a plain static to("http://backend/api") was sufficient. Seven call sites were affected: HttpHelper.createURL and HttpHelper.createMethod in camel-http-common, HttpMethodHelper.createMethod in camel-http, VertxHttpHelper.resolveHttpURI in camel-vertx-http, UndertowHelper.createURL and UndertowHelper.createMethod in camel-undertow, and NettyHttpHelper.createURL in camel-netty-http. The bridgeEndpoint option did not bound the exposure: it suppresses the CamelHttpUri override in the createURL family but not in the createMethod family, so a route using the documented bridging configuration still resolved placeholders taken from the header, and CamelRestHttpUri was consumed before any bridgeEndpoint check in all four components. Only camel-http offered an opt-out, skipControlHeaders, which defaults to false. Reaching the headers did not always require header injection, because several Camel HTTP consumers populate CamelHttpUri from the request line themselves as a documented reverse-proxy feature. An unresolvable placeholder additionally produced a RuntimeExchangeException whose message echoed the URI, which distinguishes a set from an unset configuration key even where no outbound request is made. The behaviour predates the 4.x line. This advisory continues the alignment CAMEL-24282 applied to the toD and enrich dynamic-URI EIPs in 4.22.0, extending the same build-time-resolution contract to the HTTP producer components. Users should upgrade to version 4.23.0, which fixes the issue. Users on the 4.22.x releases stream should upgrade to 4.22.1. Users on the 4.18.x releases stream should upgrade to 4.18.5. The 4.14.x releases stream and earlier reached end of life before this issue was resolved and will not receive a fix, so deployments on those lines must move to a supported release. For deployments that cannot upgrade immediately, strip the override headers at the trust boundary before the producer with removeHeader("CamelHttpUri") and removeHeader("CamelRestHttpUri"), or set skipControlHeaders=true on camel-http endpoints, which is the only component offering that option. Note that bridgeEndpoint=true is not a workaround: it suppresses the header override when the outbound URL is built but not when the header is re-parsed for the query string. Percent-encoding the placeholder delimiters is likewise not a mitigation for camel-netty-http, whose binding decodes the request path before the value reaches the header, so proxy or WAF rules written against the raw delimiters do not help there. As defence in depth, ensure consumers exposed to untrusted senders apply a strict inbound HeaderFilterStrategy over the Camel namespace, and resolve secrets through a vault rather than through environment variables or system properties that a placeholder can name.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

