CRITICAL🇬🇧 English

CVE-2026-33453

Apache Camel camel-coap: RCE poprzez wstrzyknięcie nagłówków Camel

CVSS 10.0v3.1pub. 2026-04-27upd. 2026-06-30

Komponent camel-coap w Apache Camel przepuszcza parametry zapytania URI z przychodzących pakietów CoAP bezpośrednio do nagłówków wiadomości Camel bez żadnego filtrowania, co umożliwia zdalne wykonanie kodu. Nieuierzytelniony atakujący może wysłać pojedynczy pakiet UDP i przejąć pełną kontrolę nad procesem Camel.

Pokaż oryginał (EN)

Improperly Controlled Modification of Dynamically-Determined Object Attributes vulnerability in Apache Camel Camel-Coap component. Apache Camel's camel-coap component is vulnerable to Camel message header injection, leading to remote code execution when routes forward CoAP requests to header-sensitive producers (e.g. camel-exec) The camel-coap component maps incoming CoAP request URI query parameters directly into Camel Exchange In message headers without applying any HeaderFilterStrategy.   Specifically, CamelCoapResource.handleRequest() iterates over OptionSet.getUriQuery() and calls camelExchange.getIn().setHeader(...) for every query parameter. CoAPEndpoint extends DefaultEndpoint rather than DefaultHeaderFilterStrategyEndpoint, and CoAPComponent does not implement HeaderFilterStrategyComponent; the component contains no references to HeaderFilterStrategy at all. As a result, an unauthenticated attacker who can send a single CoAP UDP packet to a Camel route consuming from coap:// can inject arbitrary Camel internal headers (those prefixed with Camel*) into the Exchange. When the route delivers the message to a header-sensitive producer such as camel-exec, camel-sql, camel-bean, camel-file, or template components (camel-freemarker, camel-velocity), the injected headers can alter the producer's behavior. In the case of camel-exec, the CamelExecCommandExecutable and CamelExecCommandArgs headers override the executable and arguments configured on the endpoint, resulting in arbitrary OS command execution under the privileges of the Camel process. The producer's output is written back to the Exchange body and returned in the CoAP response payload by CamelCoapResource, giving the attacker an interactive RCE channel without any need for out-of-band exfiltration.                                                                                                                                                                         Exploitation prerequisites are minimal: a single unauthenticated UDP datagram to the CoAP port (default 5683). CoAP (RFC 7252) has no built-in authentication, and DTLS is optional and disabled by default. Because the protocol is UDP-based, HTTP-layer WAF/IDS controls do not apply. This issue affects Apache Camel: from 4.14.0 through 4.14.5, from 4.18.0 before 4.18.1, 4.19.0. Users are recommended to upgrade to version 4.18.1 or 4.19.0, fixing the issue.

🤖 Analiza AI
Jak działa

Metoda CamelCoapResource.handleRequest() iteruje po parametrach URI zapytania CoAP i wywołuje setHeader() dla każdego z nich, bez stosowania mechanizmu HeaderFilterStrategy — komponent CoAPEndpoint dziedziczy po DefaultEndpoint, a nie po DefaultHeaderFilterStrategyEndpoint, i nie implementuje HeaderFilterStrategyComponent. Atakujący może w ten sposób wstrzyknąć dowolne wewnętrzne nagłówki Camel (z prefiksem Camel*) do obiektu Exchange. Gdy trasa kieruje wiadomość do wrażliwego na nagłówki producenta, takiego jak camel-exec, wstrzyknięte nagłówki CamelExecCommandExecutable i CamelExecCommandArgs nadpisują skonfigurowany plik wykonywalny i jego argumenty, prowadząc do wykonania dowolnych poleceń systemowych. Wynik działania polecenia jest zwracany bezpośrednio w odpowiedzi CoAP, tworząc interaktywny kanał RCE bez potrzeby eksfiltracji out-of-band.

Skutki

Nieuierzytelniony atakujący uzyskuje zdalne wykonanie dowolnych poleceń systemowych (RCE) z uprawnieniami procesu Apache Camel, co może prowadzić do pełnego przejęcia serwera, wycieku danych oraz dalszego lateral movement w sieci.

Mitygacja

Należy zaktualizować Apache Camel do wersji 4.18.1 lub 4.19.0, w których problem został naprawiony. Dodatkowo, do czasu wdrożenia patcha, zaleca się ograniczenie dostępu sieciowego do portu CoAP (domyślnie UDP 5683) wyłącznie do zaufanych źródeł oraz włączenie DTLS dla uwierzytelnienia na poziomie transportu.

Kogo dotyczy

Apache Camel w wersjach od 4.14.0 do 4.14.5 włącznie, od 4.18.0 przed 4.18.1 oraz 4.19.0 — gdy trasa korzysta z komponentu camel-coap i kieruje wiadomości do wrażliwych producentów (np. camel-exec, camel-sql, camel-bean, camel-file, camel-freemarker, camel-velocity)

Uwagi

Protokół CoAP (RFC 7252) oparty jest na UDP, przez co standardowe zabezpieczenia warstwy HTTP (WAF, IDS) nie mają zastosowania. DTLS jest opcjonalne i domyślnie wyłączone, co oznacza brak wbudowanego uwierzytelnienia. Podatność wymaga jedynie pojedynczego pakietu UDP, co czyni próg eksploitacji wyjątkowo niskim.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • Apache Camel

    APP
    Apache
    4.18.04.19.04.14.0 – 4.14.5
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEAuth Bypass
CWE
Referencje

Powiązane podatności

CVE-2026-47323CRITICAL9.8PL ✓ten sam produkt

Apache Camel: wstrzyknięcie nagłówków HTTP w camel-cxf i camel-knative (RCE)

CVE-2026-40860CRITICAL9.8PL ✓ten sam produkt

Apache Camel: niebezpieczna deserializacja JMS ObjectMessage prowadząca do RCE

CVE-2026-40453CRITICAL9.9PL ✓ten sam produkt

Apache Camel — obejście filtrowania nagłówków umożliwiające RCE

CVE-2026-33454CRITICAL9.4PL ✓ten sam produkt

Apache Camel: wstrzyknięcie nagłówków przez komponent Camel-Mail

CVE-2026-23552CRITICAL9.1PL ✓ten sam produkt

Apache Camel: pominięcie weryfikacji issuer JWT w KeycloakSecurityPolicy