CRITICAL🇬🇧 English

CVE-2026-40860

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

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

Podatność w komponentach JMS frameworka Apache Camel umożliwia nieuwierzytelnionemu atakującemu zdalne wykonanie kodu (RCE) poprzez spreparowaną wiadomość JMS ObjectMessage. Brak jakiejkolwiek filtracji klas podczas deserializacji sprawia, że exploit jest możliwy bez żadnych uprawnień po stronie atakującego.

Pokaż oryginał (EN)

JmsBinding.extractBodyFromJms() in camel-jms, and the equivalent JmsBinding class in camel-sjms, deserialized the payload of incoming JMS ObjectMessage values via javax.jms.ObjectMessage.getObject() without applying any ObjectInputFilter, class allowlist or class denylist. Because this code path is reached whenever the mapJmsMessage option is enabled (the default) and Camel acts as a JMS consumer, an attacker able to publish a crafted ObjectMessage to a queue or topic consumed by a Camel application could achieve remote code execution when a deserialization gadget chain was present on the classpath. The same handling was reached transitively through camel-sjms2 (whose Sjms2Endpoint extends SjmsEndpoint) and through camel-amqp (whose AMQPJmsBinding extends JmsBinding), and by other JMS-family components built on JmsComponent such as camel-activemq and camel-activemq6. This issue affects Apache Camel: from 3.0.0 before 4.14.7, from 4.15.0 before 4.18.2, from 4.19.0 before 4.20.0. Users are recommended to upgrade to version 4.20.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.7. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.2.

🤖 Analiza AI
Jak działa

Metoda JmsBinding.extractBodyFromJms() w modułach camel-jms oraz camel-sjms wywołuje javax.jms.ObjectMessage.getObject() w celu deserializacji ładunku przychodzących wiadomości JMS typu ObjectMessage bez stosowania filtrów wejściowych (ObjectInputFilter), listy dozwolonych ani listy zablokowanych klas. Ścieżka ta jest osiągana domyślnie, gdy opcja mapJmsMessage jest włączona (wartość domyślna) i aplikacja Camel działa jako konsument JMS. Atakujący posiadający możliwość publikowania wiadomości do kolejki lub topiku obsługiwanego przez taką aplikację może dostarczyć spreparowany payload exploitujący dowolny gadget chain deserializacji obecny na classpath. Problem dotyczy również komponentów camel-sjms2, camel-amqp, camel-activemq oraz camel-activemq6, które pośrednio korzystają z podatnych klas JmsBinding.

Skutki

Skuteczne wykorzystanie podatności pozwala nieuwierzytelnionemu atakującemu na zdalne wykonanie dowolnego kodu (RCE) w kontekście procesu aplikacji Apache Camel, co może prowadzić do pełnego przejęcia kontroli nad serwerem, wycieku danych lub zakłócenia dostępności usługi.

Mitygacja

Należy zaktualizować Apache Camel do wersji 4.20.0 (zalecana). Użytkownicy gałęzi LTS 4.14.x powinni zaktualizować do wersji 4.14.7. Użytkownicy gałęzi 4.18.x powinni zaktualizować do wersji 4.18.2. Jako obejście tymczasowe można rozważyć wyłączenie opcji mapJmsMessage lub ograniczenie dostępu do kolejek i topiców JMS wyłącznie do zaufanych nadawców.

Kogo dotyczy

Apache Camel w wersjach: od 3.0.0 do (nie włącznie) 4.14.7, od 4.15.0 do (nie włącznie) 4.18.2 oraz od 4.19.0 do (nie włącznie) 4.20.0. Dotyczy komponentów: camel-jms, camel-sjms, camel-sjms2, camel-amqp, camel-activemq, camel-activemq6.

Uwagi

Podatność obejmuje szeroki zakres wersji, poczynając od 3.0.0. Wektor ataku jest sieciowy, nie wymaga uwierzytelnienia ani interakcji użytkownika (AV:N/AC:L/PR:N/UI:N), co czyni ją szczególnie niebezpieczną w środowiskach, gdzie kolejki JMS są dostępne z sieci nieograniczonego zaufania.

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

    APP
    Apache
    4.19.03.0.0 – 4.14.7 (bez)4.15.0 – 4.18.2 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEDeserialization
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-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-33453CRITICAL10.0PL ✓ten sam produkt

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

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

Apache Camel: pominięcie weryfikacji issuer JWT w KeycloakSecurityPolicy