CVE-2026-10751 Overview
CVE-2026-10751 is a deserialization filter bypass vulnerability in IBM MQ Java and Java Message Service (JMS) client libraries. An authenticated attacker can execute arbitrary code on client applications by abusing exception handling logic that circumvents the intended deserialization filter. The flaw is tracked under CWE-502: Deserialization of Untrusted Data and affects the client side of message-processing workflows, meaning applications that consume MQ messages are at risk rather than the queue manager itself.
Critical Impact
Successful exploitation results in arbitrary code execution in the context of the MQ client application, compromising confidentiality, integrity, and availability.
Affected Products
- IBM MQ Java client libraries
- IBM MQ JMS client libraries
- Applications embedding IBM MQ Java or JMS client components
Discovery Timeline
- 2026-09-18 - CVE-2026-10751 published to the National Vulnerability Database (NVD)
- 2026-09-21 - Last updated in NVD database
Technical Details for CVE-2026-10751
Vulnerability Analysis
The vulnerability resides in how IBM MQ Java and JMS client libraries process serialized Java objects received over the messaging channel. IBM MQ implements a deserialization filter intended to restrict which classes can be reconstructed from untrusted input. Exception handling paths in the client code bypass that filter, allowing an attacker to reintroduce disallowed classes during deserialization.
An attacker who can authenticate to the queue manager and place a crafted message on a queue consumed by a Java or JMS client triggers the flaw when the client reads the message. Because deserialization occurs client-side, the compromise scope is the consumer process, not the broker. The attack requires network reachability, low privileges, and no user interaction, though attack complexity is high.
Root Cause
The root cause is an incomplete enforcement of the deserialization allow-list. When specific exceptions are thrown during object reconstruction, the client library falls back to code paths that do not reapply the filter. Attackers use gadget chains available on the client classpath to convert unfiltered readObject calls into arbitrary code execution, consistent with the pattern described by CWE-502.
Attack Vector
Exploitation requires an authenticated identity capable of writing messages to a queue that a vulnerable Java or JMS client consumes. The attacker crafts a serialized payload that induces the exception condition, causing the client to deserialize a gadget chain outside the filter boundary. See the IBM Support Article for vendor-specific technical details. No public proof-of-concept exploit is available at the time of publication.
Stop Remote Code Execution Before It Runs
Singularity™ Endpoint detects and blocks exploit attempts at machine speed, including zero-days and novel attack techniques.
Stop Exploit AttemptsDetection Methods for CVE-2026-10751
Indicators of Compromise
- Unexpected child processes spawned by Java Virtual Machines (JVMs) hosting IBM MQ client applications
- java.io.ObjectInputStream deserialization errors immediately followed by anomalous class loading events
- Outbound network connections initiated by MQ client JVMs to unfamiliar destinations following message consumption
Detection Strategies
- Monitor JVM process behavior for command execution, script interpreters, or shell invocations originating from MQ consumer applications
- Inspect MQ message payloads for serialized Java object headers (AC ED 00 05) delivered from unexpected producers
- Correlate authentication events on the queue manager with subsequent anomalous client-side process activity
Monitoring Recommendations
- Enable verbose logging on IBM MQ client applications and forward logs to a centralized analytics platform for review
- Track queue producers and validate that only authorized identities can publish to queues consumed by Java or JMS clients
- Alert on JVM crashes or repeated deserialization exceptions in MQ client processes, which may indicate exploitation attempts
How to Mitigate CVE-2026-10751
Immediate Actions Required
- Apply the IBM security update referenced in the IBM Support Article to all affected Java and JMS client deployments
- Inventory applications embedding IBM MQ Java or JMS client libraries, including third-party software bundling those components
- Restrict MQ authentication to trusted service accounts and rotate credentials for accounts with queue write permissions
Patch Information
IBM has published remediation guidance in the IBM Support Article. Administrators should upgrade IBM MQ Java and JMS client libraries to the fixed versions listed by IBM and redeploy any application that statically links or bundles the vulnerable client jars.
Workarounds
- Enforce strict channel authentication records (CHLAUTH) and TLS mutual authentication to limit who can place messages on consumed queues
- Segment MQ client hosts from sensitive network zones so a compromised JVM cannot pivot to critical assets
- Where feasible, configure application-level deserialization allow-lists using ObjectInputFilter to reject unexpected classes independent of the MQ client filter
# Example: set a JVM-wide deserialization filter as a defense-in-depth control
java -Djdk.serialFilter='!*' \
-Djdk.serialFilter='java.base/*;com.ibm.mq.jms.**;!*' \
-jar mq-consumer-application.jar
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

