CVE-2026-43866
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
7.3
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.
- Record
CVE-2026-43866- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-502
- Updated
- 2026-11-02
EUVDEUVD-2026-41855
7.3
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.
- Record
EUVD-2026-41855- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-f755-xp6r-8q84
7.3
Apache Camel JMS deserialization filter bypass
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.
- Record
GHSA-f755-xp6r-8q84- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-502
- Updated
- 2026-11-02
NVD
7.3
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.
- Record
CVE-2026-43866- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-502
- Updated
- 2026-11-02
OSV
7.3
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.
- Record
CVE-2026-43866- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-502
- Updated
- 2026-11-02
OSVGHSA-f755-xp6r-8q84
7.3
Apache Camel JMS deserialization filter bypass
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.
- Record
GHSA-f755-xp6r-8q84- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-502
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.apache.camel:camel-jmsMaven |
3.0.0 up to 4.14.8 | 4.14.8 |
org.apache.camel:camel-jmsMaven |
4.15.0 up to 4.18.3 | 4.18.3 |
org.apache.camel:camel-jmsMaven |
4.19.0 up to 4.21.0 | 4.21.0 |
org.apache.camel:camel-sjmsMaven |
3.0.0 up to 4.14.8 | 4.14.8 |
org.apache.camel:camel-sjmsMaven |
4.15.0 up to 4.18.3 | 4.18.3 |
org.apache.camel:camel-sjmsMaven |
4.19.0 up to 4.21.0 | 4.21.0 |
org.apache.camel:camel-sjms2Maven |
3.0.0 up to 4.14.8 | 4.14.8 |
org.apache.camel:camel-sjms2Maven |
4.15.0 up to 4.18.3 | 4.18.3 |
org.apache.camel:camel-sjms2Maven |
4.19.0 up to 4.21.0 | 4.21.0 |
org.apache.camel:camel-amqpMaven |
3.0.0 up to 4.14.8 | 4.14.8 |
Show 26 moreShow less
| Package | Affected | Fixed |
|---|---|---|
org.apache.camel:camel-amqpMaven |
4.15.0 up to 4.18.3 | 4.18.3 |
org.apache.camel:camel-amqpMaven |
4.19.0 up to 4.21.0 | 4.21.0 |
org.apache.camel:camel-activemqMaven |
3.0.0 up to 4.14.8 | 4.14.8 |
org.apache.camel:camel-activemqMaven |
4.15.0 up to 4.18.3 | 4.18.3 |
org.apache.camel:camel-activemqMaven |
4.19.0 up to 4.21.0 | 4.21.0 |
org.apache.camel:camel-activemq6Maven |
3.0.0 up to 4.14.8 | 4.14.8 |
org.apache.camel:camel-activemq6Maven |
4.15.0 up to 4.18.3 | 4.18.3 |
org.apache.camel:camel-activemq6Maven |
4.19.0 up to 4.21.0 | 4.21.0 |
org.apache.camel:camel-jmsMaven |
3.0.0 up to 4.14.8, plus listed versions 3.0.13.1.03.10.03.11.03.11.1 Show 45 moreShow less3.11.23.11.33.11.43.11.53.11.63.11.73.12.03.13.03.14.03.14.13.14.103.14.23.14.33.14.43.14.53.14.63.14.73.14.83.14.93.15.03.16.03.17.03.18.03.18.13.18.23.18.33.18.43.18.53.18.63.18.73.18.83.19.03.2.03.20.03.20.13.20.23.20.33.20.43.20.53.20.63.20.73.20.83.20.93.21.03.21.1 |
4.14.8 |
org.apache.camel:camel-jmsMaven |
4.15.0 up to 4.18.3, plus listed versions 4.16.04.17.04.18.04.18.14.18.2 |
4.18.3 |
org.apache.camel:camel-jmsMaven |
4.19.0 up to 4.21.0, plus listed versions 4.20.0 |
4.21.0 |
org.apache.camel:camel-sjmsMaven |
3.0.0 up to 4.14.8, plus listed versions 3.0.13.1.03.10.03.11.03.11.1 Show 45 moreShow less3.11.23.11.33.11.43.11.53.11.63.11.73.12.03.13.03.14.03.14.13.14.103.14.23.14.33.14.43.14.53.14.63.14.73.14.83.14.93.15.03.16.03.17.03.18.03.18.13.18.23.18.33.18.43.18.53.18.63.18.73.18.83.19.03.2.03.20.03.20.13.20.23.20.33.20.43.20.53.20.63.20.73.20.83.20.93.21.03.21.1 |
4.14.8 |
org.apache.camel:camel-sjmsMaven |
4.15.0 up to 4.18.3, plus listed versions 4.16.04.17.04.18.04.18.14.18.2 |
4.18.3 |
org.apache.camel:camel-sjmsMaven |
4.19.0 up to 4.21.0, plus listed versions 4.20.0 |
4.21.0 |
org.apache.camel:camel-sjms2Maven |
3.0.0 up to 4.14.8, plus listed versions 3.0.13.1.03.10.03.11.03.11.1 Show 45 moreShow less3.11.23.11.33.11.43.11.53.11.63.11.73.12.03.13.03.14.03.14.13.14.103.14.23.14.33.14.43.14.53.14.63.14.73.14.83.14.93.15.03.16.03.17.03.18.03.18.13.18.23.18.33.18.43.18.53.18.63.18.73.18.83.19.03.2.03.20.03.20.13.20.23.20.33.20.43.20.53.20.63.20.73.20.83.20.93.21.03.21.1 |
4.14.8 |
org.apache.camel:camel-sjms2Maven |
4.15.0 up to 4.18.3, plus listed versions 4.16.04.17.04.18.04.18.14.18.2 |
4.18.3 |
org.apache.camel:camel-sjms2Maven |
4.19.0 up to 4.21.0, plus listed versions 4.20.0 |
4.21.0 |
org.apache.camel:camel-amqpMaven |
3.0.0 up to 4.14.8, plus listed versions 3.0.13.1.03.10.03.11.03.11.1 Show 45 moreShow less3.11.23.11.33.11.43.11.53.11.63.11.73.12.03.13.03.14.03.14.13.14.103.14.23.14.33.14.43.14.53.14.63.14.73.14.83.14.93.15.03.16.03.17.03.18.03.18.13.18.23.18.33.18.43.18.53.18.63.18.73.18.83.19.03.2.03.20.03.20.13.20.23.20.33.20.43.20.53.20.63.20.73.20.83.20.93.21.03.21.1 |
4.14.8 |
org.apache.camel:camel-amqpMaven |
4.15.0 up to 4.18.3, plus listed versions 4.16.04.17.04.18.04.18.14.18.2 |
4.18.3 |
org.apache.camel:camel-amqpMaven |
4.19.0 up to 4.21.0, plus listed versions 4.20.0 |
4.21.0 |
org.apache.camel:camel-activemqMaven |
3.0.0 up to 4.14.8, plus listed versions 3.0.13.1.03.10.03.11.03.11.1 Show 45 moreShow less3.11.23.11.33.11.43.11.53.11.63.11.73.12.03.13.03.14.03.14.13.14.103.14.23.14.33.14.43.14.53.14.63.14.73.14.83.14.93.15.03.16.03.17.03.18.03.18.13.18.23.18.33.18.43.18.53.18.63.18.73.18.83.19.03.2.03.20.03.20.13.20.23.20.33.20.43.20.53.20.63.20.73.20.83.20.93.21.03.21.1 |
4.14.8 |
org.apache.camel:camel-activemqMaven |
4.15.0 up to 4.18.3, plus listed versions 4.16.04.17.04.18.04.18.14.18.2 |
4.18.3 |
org.apache.camel:camel-activemqMaven |
4.19.0 up to 4.21.0, plus listed versions 4.20.0 |
4.21.0 |
org.apache.camel:camel-activemq6Maven |
3.0.0 up to 4.14.8, plus listed versions 4.10.04.10.14.10.24.10.34.10.4 Show 28 moreShow less4.10.54.10.64.10.74.10.84.10.94.11.04.12.04.13.04.14.04.14.14.14.24.14.34.14.44.14.54.14.64.14.74.7.04.8.04.8.14.8.24.8.34.8.44.8.54.8.64.8.74.8.84.8.94.9.0 |
4.14.8 |
org.apache.camel:camel-activemq6Maven |
4.15.0 up to 4.18.3, plus listed versions 4.16.04.17.04.18.04.18.14.18.2 |
4.18.3 |
org.apache.camel:camel-activemq6Maven |
4.19.0 up to 4.21.0, plus listed versions 4.20.0 |
4.21.0 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | oscerd/CVE-2026-43866 | 2026-07-12 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-43866 is a high vulnerability (CVSS 7.3) in Apache Camel, published July 6, 2026. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.65%, the 51st percentile. Fixed in org.apache.camel:camel-jms 4.14.8.
References
camel.apache.org/security/CVE-2026-43866.html
nvd.nist.gov/vuln/detail/CVE-2026-43866
github.com/apache/camel/pull/22970
github.com/apache/camel/pull/22968
github.com/apache/camel/pull/22945
github.com/apache/camel/pull/22920
Show 17 moreShow less
github.com/apache/camel/pull/22918
github.com/apache/camel/pull/22866
github.com/apache/camel/commit/844bbf8c894c5e2bfa023579db80dcd3354c0e1b
github.com/apache/camel/commit/81449eb6ef3edf856c84117ce708beb2ada8f650
github.com/apache/camel/commit/75d7991b89265a2e8e62c7207165deb88c3a6ef3
github.com/apache/camel/commit/6cb29c0bbd7d1c46f057eac46c4afa62c9f5e00f
github.com/apache/camel/commit/17f8fcb22569f4c459b9e53c1485bfc764dc0015
github.com/apache/camel/commit/01ead5e8473a2b2fca4902c0236978805b990c31
github.com/apache/camel/releases/tag/camel-4.14.8
github.com/apache/camel/releases/tag/camel-4.18.3
github.com/apache/camel/releases/tag/camel-4.21.0
issues.apache.org/jira/browse/CAMEL-23373
issues.apache.org/jira/browse/CAMEL-23409
github.com/advisories/GHSA-f755-xp6r-8q84
repo.maven.apache.org/maven2
github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43866.json
github.com/apache/camel
Left out here: 422 versions. The JSON record has them.