Description
EAP's Artemis deserialization configuration permits deserialization by default. ObjectMessage.getObject() uses ObjectInputStreamWithClassLoader, which implements allow-list/block-list filtering via its checkSecurity()/isTrustedType() method. However, by default both allow-list and block-list are empty. When the allow-list is empty (size == 0), isTrustedType() returns true for ALL classes. This means all classes are deserializable by default.
Published: 2026-09-07
Score: 8.8 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability lies in Red Hat Enterprise Application Platform’s usage of Artemis as the JMS provider. Artemis’s deserialization configuration defaults to allow‑the‑everything behavior: the ObjectInputStreamWithClassLoader accepts any class type when the allow‑list is empty. An attacker that can supply a malicious ObjectMessage can cause the server to deserialize the payload, leading to arbitrary code execution or other compromise of confidentiality, integrity, or availability. The weakness is identified as CWE‑502, insecure deserialization.

Affected Systems

Affected are Red Hat AMQ Broker 7, Red Hat JBoss Enterprise Application Platform 7 and 8, and Red Hat builds of Apache Camel 4 for Quarkus 3 and Spring Boot 4. The vulnerability impacts any deployment that uses Artemis messaging handlers with the default deserialization configuration – that includes typical EAP/JBoss messaging setups and any application that relies on pooled‑connection‑factory resources. Version details are not explicitly listed in the CNA affected‑version table, but all supported releases of the mentioned products are vulnerable until a fix is applied.

Risk and Exploitability

The CVSS score of 8.8 classifies the flaw as high severity. The EPSS score is not available, yet the absence of a blocking allow‑list indicates that exploitation is straightforward for anyone who can send a crafted JMS message. Although the flaw is not currently in the CISA KEV catalog, its impact and lack of countermeasures make it a high‑risk vulnerability. The likely attack vector is the delivery of a malicious ObjectMessage over JMS from an external source; the vulnerability can be exploited without authentication if the message is accepted by a pooled‑connection‑factory resource.

Generated by OpenCVE AI on September 7, 2026 at 13:18 UTC.

Remediation

Vendor Workaround

Configure a restrictive deserialization-allow-list on every pooled-connection-factory resource. For example, if your MDBs only expect to receive objects of type com.yourapp.OrderEvent, set the allow-list to "com.yourapp". This switches ObjectInputStreamWithClassLoader from "allow everything" to "deny by default, allow only listed classes." With this in place, even if an attacker injects a malicious ObjectMessage through any vector, the deserialization of gadget chain classes is blocked.


OpenCVE Recommended Actions

  • Configure a restrictive deserialization allow‑list on every pooled‑connection‑factory resource, limiting accepted classes to those required by your application.
  • Apply any Red Hat update that addresses CVE‑2026‑86404 or deploy the latest patched version of the affected products.
  • Monitor JMS traffic for unexpected or malformed ObjectMessage instances and establish alerts for suspicious deserialization attempts.

Generated by OpenCVE AI on September 7, 2026 at 13:18 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 07 Sep 2026 14:00:00 +0000

Type Values Removed Values Added
First Time appeared Redhat jboss Enterprise Application Platform Els
CPEs cpe:/a:redhat:jboss_enterprise_application_platform_els:7.4::el7
Vendors & Products Redhat jboss Enterprise Application Platform Els
References

Mon, 07 Sep 2026 11:45:00 +0000

Type Values Removed Values Added
Description EAP's Artemis deserialization configuration permits deserialization by default. ObjectMessage.getObject() uses ObjectInputStreamWithClassLoader, which implements allow-list/block-list filtering via its checkSecurity()/isTrustedType() method. However, by default both allow-list and block-list are empty. When the allow-list is empty (size == 0), isTrustedType() returns true for ALL classes. This means all classes are deserializable by default.
Title Artemis-server: artemis-jms-client: artemis-core-client: undertow-core: wildfly-messaging-activemq-subsystem: artemis messaging handlers in red hat eap permit deserialization by default
First Time appeared Redhat
Redhat amq Broker
Redhat camel Quarkus
Redhat camel Spring Boot
Redhat jboss Enterprise Application Platform
Weaknesses CWE-502
CPEs cpe:/a:redhat:amq_broker:7
cpe:/a:redhat:camel_quarkus:3
cpe:/a:redhat:camel_spring_boot:4
cpe:/a:redhat:jboss_enterprise_application_platform:7
cpe:/a:redhat:jboss_enterprise_application_platform:8
Vendors & Products Redhat
Redhat amq Broker
Redhat camel Quarkus
Redhat camel Spring Boot
Redhat jboss Enterprise Application Platform
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Redhat Amq Broker Camel Quarkus Camel Spring Boot Jboss Enterprise Application Platform Jboss Enterprise Application Platform Els
cve-icon MITRE

Status: PUBLISHED

Assigner: redhat

Published:

Updated: 2026-09-07T13:53:34.242Z

Reserved: 2026-09-07T11:24:28.229Z

Link: CVE-2026-86404

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-07T12:17:21.840

Modified: 2026-09-07T14:16:56.620

Link: CVE-2026-86404

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-07T13:30:16Z

Weaknesses
  • CWE-502

    Deserialization of Untrusted Data