CVE-2023-46604
CVE-2023-46604 is a critical-severity vulnerability in Apache Activemq with a CVSS 3.x base score of 10.0. It is listed in CISA's Known Exploited Vulnerabilities (KEV) catalog, confirming it has been exploited in the wild (added 2023-11-02). The underlying weakness is classified as CWE-502.
Key facts
- Severity: Critical (CVSS 3.x base score 10.0)
- EPSS exploit prediction: 100% (100th percentile)
- Actively exploited: Yes — listed in CISA KEV (added 2023-11-02)
- EU (EUVD) id: EUVD-2023-2719
- EU exploitation: Flagged exploited in the ENISA EU Vulnerability Database (since 2023-11-02)
- Weakness: CWE-502
- Affected product: Apache Activemq
- Published:
- Last modified:
Description
The Java OpenWire protocol marshaller is vulnerable to Remote Code Execution. This vulnerability may allow a remote attacker with network access to either a Java-based OpenWire broker or client to run arbitrary shell commands by manipulating serialized class types in the OpenWire protocol to cause either the client or the broker (respectively) to instantiate any class on the classpath. Users are recommended to upgrade both brokers and clients to version 5.15.16, 5.16.7, 5.17.6, or 5.18.3 which fixes this issue.
CVE-2023-46604: Apache ActiveMQ OpenWire Unauthenticated RCE via Deserialization of Untrusted Class Types
AI-generated analysis based on the vulnerability data on this page.
| Attribute | Value |
|---|---|
| CVE | CVE-2023-46604 |
| Severity | Critical (CVSS 3.1: 10.0) |
| CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:H |
| CWE | CWE-502: Deserialization of Untrusted Data |
| EPSS | 0.99654 (99.95th percentile) |
| KEV | Yes (CISA added 2023-11-02) |
| Affected Products | Apache ActiveMQ, Debian Linux 10/11, NetApp SANtricity products |
| Patched Versions | 5.15.16, 5.16.7, 5.17.6, 5.18.3 |
Summary
Apache ActiveMQ's Java OpenWire protocol marshaller is vulnerable to unauthenticated remote code execution. A remote attacker with network access to either a Java-based OpenWire broker or client can manipulate serialized class types in the OpenWire protocol to cause the target to instantiate arbitrary classes on the classpath, resulting in arbitrary shell command execution.
Background
Apache ActiveMQ is a widely deployed open-source message broker implementing the JMS (Java Message Service) specification. The OpenWire protocol is ActiveMQ's native binary wire protocol used for communication between brokers and clients. The protocol includes a marshaller component responsible for serializing and deserializing messages exchanged over the network. Due to its central role in message handling, the OpenWire marshaller is exposed to all network-connected clients and brokers by default.
Root Cause
CWE-502: Deserialization of Untrusted Data
The vulnerability stems from the OpenWire protocol marshaller's handling of serialized class type descriptors. During deserialization, the marshaller trusts the class type information provided in the incoming message without adequate validation. An attacker can craft malicious OpenWire messages containing arbitrary class names that exist on the target's classpath. When the marshaller processes these messages, it instantiates the attacker-specified classes, which can trigger chains of malicious constructors or static initializers, ultimately leading to arbitrary code execution. This represents a classic deserialization vulnerability where the attack surface is the protocol itself, reachable without authentication.
Impact
The CVSS v3.1 score of 10.0 (Critical) reflects the severity of this vulnerability:
- Attack Vector (AV): Network — Exploitable remotely over the network.
- Attack Complexity (AC): Low — No special conditions or advanced techniques required.
- Privileges Required (PR): None — No authentication or credentials needed.
- User Interaction (UI): None — Fully automated exploitation possible.
- Scope (S): Changed — The vulnerable component impacts resources beyond its own security scope.
- Confidentiality (C): Low — Limited information disclosure may occur.
- Integrity (I): High — Complete compromise of system integrity; arbitrary commands can be executed.
- Availability (A): High — System availability can be severely impacted.
The combination of network accessibility, low complexity, and no required privileges means this vulnerability is trivially exploitable by any actor with network reach to an affected broker or client.
Exploitation Walkthrough
An attacker with network access to an ActiveMQ broker or client can craft malicious OpenWire protocol messages that manipulate serialized class type descriptors. When the broker or client unmarshals these messages, it instantiates attacker-controlled classes present on the classpath, leading to arbitrary code execution. This does not require authentication.
This description is provided for defensive awareness only. Actual exploitation requires specific environmental conditions and should only be studied in isolated lab environments with proper authorization. No weaponized exploit code is provided here.
Affected and Patched Versions
Affected:
- Apache ActiveMQ (multiple versions prior to patched releases)
- Apache ActiveMQ Legacy OpenWire Module
- Debian Linux 10.0 and 11.0
- NetApp E-Series SANtricity Unified Manager
- NetApp E-Series SANtricity Web Services Proxy
- NetApp SANtricity Storage Plugin for vCenter
Patched:
- Apache ActiveMQ 5.15.16, 5.16.7, 5.17.6, 5.18.3
Remediation
- Upgrade immediately — Upgrade both ActiveMQ brokers and clients to the patched versions (5.15.16, 5.16.7, 5.17.6, or 5.18.3) as advised by the Apache Security Team.
- Network segmentation — Restrict network access to ActiveMQ brokers and clients to trusted hosts only. Do not expose broker ports to untrusted networks or the internet.
- Input validation — Where possible, implement protocol-level filtering or use alternative wire protocols that do not rely on Java native serialization.
- Compensating controls — Deploy Web Application Firewalls (WAFs) or intrusion prevention systems with rulesets for ActiveMQ/OpenWire anomaly detection.
Detection
- Monitor network traffic for anomalous OpenWire protocol messages containing unexpected class type descriptors.
- Review broker and client logs for unusual class instantiation errors or unexpected class-loading activity.
- Alert on unexpected process spawning or shell command execution originating from ActiveMQ broker or client JVM processes.
- Use endpoint detection and response (EDR) tools to monitor for suspicious child processes spawned by Java processes running ActiveMQ.
Assessment
With an EPSS score of 0.99654 (99.95th percentile) and confirmed inclusion in CISA's Known Exploited Vulnerabilities (KEV) catalog since November 2, 2023, this vulnerability is actively exploited in the wild. The critical CVSS score, absence of authentication requirements, and the ubiquity of ActiveMQ in enterprise messaging infrastructure make this a high-priority patching item.
Key lessons:
- Deserialization remains a top-tier attack vector — Any protocol or component that deserializes untrusted data must implement strict class-allowlisting or avoid native serialization entirely.
- Network exposure amplifies risk — Message brokers like ActiveMQ are often deployed internally but can become externally reachable through misconfigurations or supply-chain integrations, dramatically increasing attack surface.
References
- https://activemq.apache.org/security-advisories.data/CVE-2023-46604-announcement.txt
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2023-46604
- https://security.netapp.com/advisory/ntap-20231110-0010/
- https://lists.debian.org/debian-lts-announce/2023/11/msg00013.html
- https://lists.debian.org/debian-lts-announce/2024/10/msg00027.html
- https://www.openwall.com/lists/oss-security/2023/10/27/5
- https://packetstormsecurity.com/files/175676/Apache-ActiveMQ-Unauthenticated-Remote-Code-Execution.html
- https://nvd.nist.gov/vuln/detail/CVE-2023-46604
Frequently asked questions
- What is CVE-2023-46604?
- The Java OpenWire protocol marshaller is vulnerable to Remote Code Execution. This vulnerability may allow a remote attacker with network access to either a Java-based OpenWire broker or client to run arbitrary shell commands by manipulating serialized class types in the OpenWire protocol to cause either the client or the broker (respectively) to instantiate any class on the classpath. Users are recommended to upgrade both brokers and clients to version 5.15.16, 5.16.7, 5.17.6, or 5.18.3 which fixes this issue.
- How severe is CVE-2023-46604?
- CVE-2023-46604 has a CVSS 3.x base score of 10.0, rated critical severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is low, integrity high, and availability high.
- Is CVE-2023-46604 being actively exploited?
- Yes. CVE-2023-46604 is on CISA's Known Exploited Vulnerabilities (KEV) catalog, added on 2023-11-02, which means active exploitation has been confirmed. It should be prioritised for remediation.
- What products are affected by CVE-2023-46604?
- CVE-2023-46604 primarily affects Apache Activemq. In total, 7 product configurations (CPEs) are listed as vulnerable; see the affected-products list for the exact versions.
- How do I fix CVE-2023-46604?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Because this CVE is known to be actively exploited, treat remediation as urgent — CISA KEV typically sets a short remediation deadline.
- Does CVE-2023-46604 have an EU (EUVD) identifier?
- Yes. CVE-2023-46604 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2023-2719. It is also flagged as exploited in the EUVD (since 2023-11-02).
- When was CVE-2023-46604 published?
- CVE-2023-46604 was published on 2023-10-27 and last updated on 2026-06-17.
References
- http://seclists.org/fulldisclosure/2024/Apr/18
- https://activemq.apache.org/security-advisories.data/CVE-2023-46604-announcement.txt
- https://lists.debian.org/debian-lts-announce/2023/11/msg00013.html
- https://packetstormsecurity.com/files/175676/Apache-ActiveMQ-Unauthenticated-Remote-Code-Execution.html
- https://security.netapp.com/advisory/ntap-20231110-0010/
- https://www.openwall.com/lists/oss-security/2023/10/27/5
- https://lists.debian.org/debian-lts-announce/2024/10/msg00027.html
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2023-46604
Affected products (7)
- cpe:2.3:a:apache:activemq:*:*:*:*:*:*:*:*
- cpe:2.3:a:apache:activemq_legacy_openwire_module:*:*:*:*:*:*:*:*
- cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
- cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*
- cpe:2.3:a:netapp:e-series_santricity_unified_manager:-:*:*:*:*:*:*:*
- cpe:2.3:a:netapp:e-series_santricity_web_services_proxy:-:*:*:*:*:*:*:*
- cpe:2.3:a:netapp:santricity_storage_plugin:-:*:*:*:*:vcenter:*:*
More vulnerabilities in Apache Activemq
- CVE-2020-11998 — Critical (CVSS 9.8): A regression has been introduced in the commit preventing JMX re-bind. By passing an empty environment map to…
- CVE-2013-7285 — Critical (CVSS 9.8): Xstream API versions up to 1.4.6 and version 1.4.10, if the security framework has not been initialized, may allow a…
- CVE-2014-3600 — Critical (CVSS 9.8): XML external entity (XXE) vulnerability in Apache ActiveMQ 5.x before 5.10.1 allows remote consumers to have…
- CVE-2016-3088 — Critical (CVSS 9.8): The Fileserver web application in Apache ActiveMQ 5.x before 5.14.0 allows remote attackers to upload and execute…
- CVE-2015-5254 — Critical (CVSS 9.8): Apache ActiveMQ 5.x before 5.13.0 does not restrict the classes that can be serialized in the broker, which allows…
- CVE-2026-49157 — High (CVSS 8.8): Incorrect Default Permissions vulnerability in Apache ActiveMQ. This issue affects Apache ActiveMQ: before 5.19.7,…
All CVEs affecting Apache Activemq →
Other CWE-502 (Deserialization of Untrusted Data) vulnerabilities
- CVE-2026-41104 — Critical (CVSS 10.0): Deserialization of untrusted data in Microsoft Planetary Computer Pro allows an unauthorized attacker to disclose…
- CVE-2026-43633 — Critical (CVSS 10.0): HestiaCP versions 1.9.0 through 1.9.4 contain a deserialization vulnerability in the web terminal component caused by a…
- CVE-2026-33819 — Critical (CVSS 10.0): Deserialization of untrusted data in Microsoft Bing allows an unauthorized attacker to execute code over a network.
- CVE-2026-20131 — Critical (CVSS 10.0): A vulnerability in the web-based management interface of Cisco Secure Firewall Management Center (FMC) Software could…
- CVE-2026-25632 — Critical (CVSS 10.0): EPyT-Flow is a Python package designed for the easy generation of hydraulic and water quality scenario data of water…
- CVE-2025-14931 — Critical (CVSS 10.0): Hugging Face smolagents Remote Python Executor Deserialization of Untrusted Data Remote Code Execution Vulnerability.…
Browse all CWE-502 (Deserialization of Untrusted Data) vulnerabilities →