Apache Camel, Apache Camel: Camel JMS - CVE-2026-40860 fix bypass via DefaultExchangeHolder
Deserialization of Untrusted Data vulnerability in Apache Camel, Apache Camel JMS component. JmsBinding.extractBodyFromJms() in camel-jms - and the equivalent JmsBinding in camel-sjms - deserializes the payload of an incoming JMS ObjectMessage via jakarta.jms.ObjectMessage.getObject() whenever the mapJmsMessage option is enabled (the default) and Camel acts as a JMS consumer. The CVE-2026-40860 hardening added a post-deserialization class check that rejects classes outside the default allow-list java.**;javax.**;org.apache.camel.**;!*. However org.apache.camel.support.DefaultExchangeHolder itself lives in the allow-listed org.apache.camel.** namespace, so an ObjectMessage whose top-level object is a DefaultExchangeHolder passes the check. The receiving side then calls DefaultExchangeHolder.unmarshal() on it without requiring the transferExchange option to be enabled - an asymmetric trust boundary, since the sending side gates ObjectMessage and transferExchange handling but the receiving side did not - writing every non-null field of the holder into the Exchange: the message body, the IN and OUT headers, the exchange properties, the variables, the exchange id and the exception. An attacker who can publish an ObjectMessage to a queue or topic consumed by an affected Camel application can therefore inject arbitrary Exchange state using only universally-trusted java.lang and java.util types, with no deserialization gadget chain required, to manipulate routing and headers, exchange properties and error handling. The same handling applies to camel-sjms and camel-sjms2, and to the JMS-family components built on JmsComponent and JmsBinding: camel-amqp, camel-activemq and camel-activemq6. This is a bypass of the CVE-2026-40860 fix rather than a flaw in it. This issue affects Apache Camel: from 3.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0; Apache Camel: from 3.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0. Users are recommended to upgrade to version 4.21.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.8. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. After upgrading, JMS ObjectMessage handling is disabled by default in camel-jms, camel-sjms and the JMS-family components (a new objectMessageEnabled option defaults to false at the component and endpoint level), so an incoming ObjectMessage - including a DefaultExchangeHolder payload - is no longer deserialized unless the option is explicitly enabled; only set objectMessageEnabled=true when the consumed JMS destination is fed exclusively by trusted producers. For deployments that cannot upgrade immediately, restrict publish access to the queues and topics consumed by Camel to trusted producers via JMS broker authorization, and do not expose JMS consumers that map ObjectMessage bodies to untrusted networks; a JMS-provider deserialization allow-list does not mitigate this specific bypass because the crafted payload uses only universally-trusted classes.
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
Veritabanındaki yüz binlerce zafiyetin tamamına elle analiz yazmıyoruz; bu dürüst olmazdı. Öne çıkan ve sahada etkisi olan zafiyetler için mekanizma, tespit ve kapatma adımlarını ekibimiz yazıyor.
Bu ürünü kullanıyoruz, yardım isteyin- Yayın
- 6 Tem 2026
- Güncelleme
- 7 Tem 2026
- EPSS
- %0,7 · 49. yüzdelik
- CWE
- CWE-502
Takip etmek için giriş yap · Takip ettiğin kayıt KEV’e girer, istismarı çıkar ya da güncellenirse bildirim alırsın.
Rapor araçları
Aksiyon skoru
29
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 29 / 40 · 7.3 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,7
CISA SSVC kararı
- Sömürü
- yok
- Otomatikleştirilebilir
- evet
- Teknik etki
- kısmi
Vulnrichment: CISA'nın karar ağacı girdileri.
Etkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| apache | camel | cpe:2.3:a:apache:camel |
Etkilenen sürümler
NVD sürüm aralıkları (katalogdaki ürünler için). Stack’ine sürümle eklersen eşleşme bunlarla yapılır.
- apache camel3.0.0 ve sonrası · 4.14.8 öncesi
- apache camel4.15.0 ve sonrası · 4.18.3 öncesi
- apache camel4.19.0 ve sonrası · 4.21.0 öncesi
Üreticinin bildirdiği sürümler
Kaydı açan otorite (apache) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
Apache Software Foundation Apache Camel
- 3.0.0 ve sonrası · 4.14.8 öncesietkilenir · semver
- 4.15.0 ve sonrası · 4.18.3 öncesietkilenir · semver
- 4.19.0 ve sonrası · 4.21.0 öncesietkilenir · semver
- 3.0.0 ve sonrası · 4.14.8 öncesietkilenir · semver
- 4.15.0 ve sonrası · 4.18.3 öncesietkilenir · semver
- 4.19.0 ve sonrası · 4.21.0 öncesietkilenir · semver
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| Maven | org.apache.camel:camel-activemq | 3.0.0 itibarıyla · 4.14.8 öncesi | 4.14.8 |
| Maven | org.apache.camel:camel-activemq | 4.15.0 itibarıyla · 4.18.3 öncesi | 4.18.3 |
| Maven | org.apache.camel:camel-activemq | 4.19.0 itibarıyla · 4.21.0 öncesi | 4.21.0 |
| Maven | org.apache.camel:camel-activemq6 | 3.0.0 itibarıyla · 4.14.8 öncesi | 4.14.8 |
| Maven | org.apache.camel:camel-activemq6 | 4.15.0 itibarıyla · 4.18.3 öncesi | 4.18.3 |
| Maven | org.apache.camel:camel-activemq6 | 4.19.0 itibarıyla · 4.21.0 öncesi | 4.21.0 |
| Maven | org.apache.camel:camel-amqp | 3.0.0 itibarıyla · 4.14.8 öncesi | 4.14.8 |
| Maven | org.apache.camel:camel-amqp | 4.15.0 itibarıyla · 4.18.3 öncesi | 4.18.3 |
| Maven | org.apache.camel:camel-amqp | 4.19.0 itibarıyla · 4.21.0 öncesi | 4.21.0 |
| Maven | org.apache.camel:camel-jms | 3.0.0 itibarıyla · 4.14.8 öncesi | 4.14.8 |
| Maven | org.apache.camel:camel-jms | 4.15.0 itibarıyla · 4.18.3 öncesi | 4.18.3 |
| Maven | org.apache.camel:camel-jms | 4.19.0 itibarıyla · 4.21.0 öncesi | 4.21.0 |
| Maven | org.apache.camel:camel-sjms | 3.0.0 itibarıyla · 4.14.8 öncesi | 4.14.8 |
| Maven | org.apache.camel:camel-sjms | 4.15.0 itibarıyla · 4.18.3 öncesi | 4.18.3 |
| Maven | org.apache.camel:camel-sjms | 4.19.0 itibarıyla · 4.21.0 öncesi | 4.21.0 |
| Maven | org.apache.camel:camel-sjms2 | 3.0.0 itibarıyla · 4.14.8 öncesi | 4.14.8 |
| Maven | org.apache.camel:camel-sjms2 | 4.15.0 itibarıyla · 4.18.3 öncesi | 4.18.3 |
| Maven | org.apache.camel:camel-sjms2 | 4.19.0 itibarıyla · 4.21.0 öncesi | 4.21.0 |
Aynı üründe
apache: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2025-27636Apache Camel: Camel Message Header Injection via Improper Filtering51Planlayın
- CVE-2026-33453Apache Camel: CoAP URI Query Parameter to Exchange Header Injection in camel-coap Allows Single-Packet Pre-Auth Remote Code Execution42Planlayın
- CVE-2025-29891Apache Camel: Camel Message Header Injection through request parameters42Planlayın
- CVE-2016-8749Apache Camel's Jackson and JacksonXML unmarshalling operation are vulnerable to Remote Code Execution attacks.42Planlayın
- CVE-2020-11973Apache Camel Netty enables Java deserialization by default.41Planlayın
- CVE-2020-11972Apache Camel RabbitMQ enables Java deserialization by default.41Planlayın
Düzeltme
Hangi sürüme geçmeli
Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.
| Ürün / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| Apache Software Foundation Apache Camel | 4.14.8 | Üretici (CNA) |
| Apache Software Foundation Apache Camel | 4.18.3 | Üretici (CNA) |
| Apache Software Foundation Apache Camel | 4.21.0 | Üretici (CNA) |
| Maven:org.apache.camel:camel-activemq | 4.14.8 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-activemq | 4.18.3 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-activemq | 4.21.0 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-activemq6 | 4.14.8 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-activemq6 | 4.18.3 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-activemq6 | 4.21.0 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-amqp | 4.14.8 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-amqp | 4.18.3 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-amqp | 4.21.0 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-jms | 4.14.8 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-jms | 4.18.3 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-jms | 4.21.0 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-sjms | 4.14.8 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-sjms | 4.18.3 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-sjms | 4.21.0 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-sjms2 | 4.14.8 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-sjms2 | 4.18.3 | Paket deposu (OSV) |
| Maven:org.apache.camel:camel-sjms2 | 4.21.0 | Paket deposu (OSV) |
İstismar durumu
Kavram kanıtı mevcut
Kamuya açık bir kavram kanıtı ya da tespit imzası var. İstismar bilgisi dışarıda; yamayı geciktirmeyin.
Kanıt
- GitHub’da kavram kanıtı deposu ×1
Noroxi istismar kodu barındırmaz ve istismar bağlantısı vermez. Metasploit modül adı ve Nuclei şablon kimliği gösterilir (kod değil, ad); Exploit-DB kayıtları ve PoC depoları yalnızca sayı olarak verilir.
| Kaynak | Tür | Tarih |
|---|---|---|
| GitHub’da kavram kanıtı deposu | stars:0 | 2026-07-12 |
Araştırma bağlamı
Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.
Zaman çizelgesi
Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.
- Yayın
- İlk kavram kanıtı+6 gün
- Bugün30 Eyl 2026+87 gün
FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).
Yama ve commit bağlantıları
Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.
Referanslarda commit ya da PR bağlantısı yok.
Kredi
Tüm araştırmacılarCNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıkla, aynı araştırmacının diğer kayıtlarını gör.
- gaorenyusibulan
- Andrea CosentinoApache Software Foundationdüzeltme geliştirici
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
- CVE-2026-438670 gün araylaApache Camel: Camel-PQC: The AWS Secrets Manager key-lifecycle manager deserializes persisted key metadata with java.io.ObjectInputStream and no ObjectInputFilt39İzleyin
- CVE-2026-4086070 gün araylaApache Camel: Unsafe Deserialization of JMS ObjectMessage in camel-jms, camel-sjms, camel-sjms2 and camel-amqp39İzleyin
- CVE-2026-3345470 gün araylaApache Camel: Inbound Header Filter Missing in MailHeaderFilterStrategy Allows Remote Code Execution via MIME Header Injection (CVE-2025-30177 Variant)37İzleyin
- CVE-2026-465900 gün araylaApache Camel: Camel-PQC: The HashiCorp Vault and AWS Secrets Manager key-lifecycle managers deserialize persisted key metadata with java.io.ObjectInputStream an35İzleyin
- CVE-2026-2717270 gün araylaApache Camel: Unsafe Java deserialization in camel-consul ConsulRegistry allows arbitrary code execution via malicious values read from the Consul KV store35İzleyin
- CVE-2026-4047370 gün araylaApache Camel Mina: Unsafe Deserialization in MinaConverter.toObjectInput() via TCP/UDP35İzleyin
Zincir adayları
Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.
—
Bug bounty kapsamı
Bilinen herkese açık program yok.
Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).
Teknik detay
Saldırı koşulları
- İnternetten erişebilen herkes tetikleyebilir.
- Hesap ya da parola gerekmez.
- Kullanıcının bir şey yapması gerekmez.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- düşük · veriler okunabilir
- Bütünlük
- düşük · veri ya da yapılandırma değiştirilebilir
- Erişilebilirlik
- düşük · hizmet durdurulabilir
- Saldırı vektörü
- Ağ
- Karmaşıklık
- Düşük
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- Gerekmez
- Kapsam
- Değişmez
- Gizlilik etkisi
- Düşük
- Bütünlük etkisi
- Düşük
- Erişilebilirlik etkisi
- Düşük
Zayıflık sınıfı (CWE)
CWE-502 · Deserialization of Untrusted DataCVSS vektörü
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
nvd-secondary
Kök neden
Ağdan gelen veri, kaynağı doğrulanmadan dilin yerel nesne biçimine çözümleniyor. Çözümleme sırasında nesnenin içindeki kod yolları tetiklenebilir.
Hatanın kod karşılığı
CWE-502 sınıfının tamamıBu zafiyet sınıfının temsili örneği. Üreticinin kaynak kodu değildir; hatalı kalıbı ve düzeltmesini gösterir.
Hatalı
payload = sock.recv(65536)job = pickle.loads(payload)Düzeltilmiş
payload = sock.recv(65536)if not hmac.compare_digest(sign(payload), header_sig): raise PermissionError("imza geçersiz")job = JobSchema.validate(json.loads(payload))Saldırı bağlamı
Bu zafiyet sınıfının (CWE) MITRE CAPEC saldırı desenleri ve ATT&CK teknikleri. Tespit kuralı ve tehdit avı için başlangıç noktası.
Saldırı desenleri (CAPEC)
ATT&CK teknikleri
—
Değişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.