CVE Vulnerabilities

CVE-2023-46604

Deserialization of Untrusted Data

Published: Oct 27, 2023 | Modified: Nov 04, 2025
CVSS 3.x
9.8
CRITICAL
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
RedHat/V2
RedHat/V3
9.8 CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Ubuntu
HIGH
root.io logo minimus.io logo echo.ai logo

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.

Weakness

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Affected Software

NameVendorStart VersionEnd Version
ActivemqApache*5.15.16 (excluding)
ActivemqApache5.16.0 (including)5.16.7 (excluding)
ActivemqApache5.17.0 (including)5.17.6 (excluding)
ActivemqApache5.18.0 (including)5.18.3 (excluding)
AMQ 6.3 openshift container imageRedHat*
AMQ Broker 7.10.5RedHat*
AMQ Broker 7.11.4RedHatactivemq-openwire*
Red Hat Fuse 7.12.1RedHatactivemq-openwire*
Red Hat Fuse/AMQ 6.3.20RedHatactivemq-openwire*
RHEL-7 based Middleware ContainersRedHatjboss-amq-6/amq63-openshift:1.4-50*
ActivemqUbuntubionic*
ActivemqUbuntuesm-apps/bionic*
ActivemqUbuntuesm-apps/focal*
ActivemqUbuntuesm-apps/jammy*
ActivemqUbuntuesm-apps/xenial*
ActivemqUbuntufocal*
ActivemqUbuntujammy*
ActivemqUbuntulunar*
ActivemqUbuntumantic*
ActivemqUbuntutrusty*
ActivemqUbuntuupstream*
ActivemqUbuntuxenial*

Potential Mitigations

  • Make fields transient to protect them from deserialization.
  • An attempt to serialize and then deserialize a class containing transient fields will result in NULLs where the transient data should be. This is an excellent way to prevent time, environment-based, or sensitive variables from being carried over and used improperly.

References