CVE-2026-12667 Overview
CVE-2026-12667 is an XML External Entity (XXE) vulnerability affecting the IBM MQ .NET client. The flaw stems from improper handling of XML external entities during RFH2 folder parsing. An authenticated attacker can exploit this weakness to read files from a vulnerable .NET client host or trigger a limited denial of service condition. The vulnerability is tracked under CWE-611: Improper Restriction of XML External Entity Reference.
Critical Impact
An authenticated network attacker can read sensitive files from the .NET client system and cause partial service disruption through crafted RFH2 messages containing malicious XML external entity references.
Affected Products
- IBM MQ 9.1.0.0 through 9.1.0.37 LTS and 9.2.0.0 through 9.2.0.43 LTS
- IBM MQ 9.3.0.0 through 9.3.0.41 LTS, 9.3.0.0 through 9.3.5.1 CD, 9.4.0.0 through 9.4.0.25 LTS, and 9.4.0.0 through 9.4.5.1 CD
- IBM MQ 10.0.0.0
Discovery Timeline
- 2026-09-15 - CVE-2026-12667 published to NVD
- 2026-09-16 - Last updated in NVD database
Technical Details for CVE-2026-12667
Vulnerability Analysis
The vulnerability resides in how the IBM MQ .NET client parses Rules and Formatting Header version 2 (RFH2) folders. RFH2 headers carry message properties as XML-like folder structures inside MQ messages. The .NET parser processes these folders without disabling external entity resolution.
When a crafted RFH2 folder contains an external entity reference, the parser resolves it during message consumption. This allows an authenticated attacker with the ability to send MQ messages to read files accessible to the .NET client process. The attacker can also submit malformed entities that force excessive parsing work, resulting in a limited denial of service on the client.
Root Cause
The root cause is an insecurely configured XML parser inside the IBM MQ .NET client library. The parser fails to restrict external entity resolution during RFH2 folder deserialization, matching the pattern described by [CWE-611]. Applications built on the affected client versions inherit this parser behavior automatically.
Attack Vector
Exploitation requires authenticated network access to a queue manager the target .NET client consumes from. The attacker publishes a message with a crafted RFH2 header containing a malicious DOCTYPE declaration and external entity reference. When the .NET client receives and parses the message, the entity is resolved against the client host filesystem or a remote URL.
File disclosure occurs when the resolved entity content is echoed back through message properties, error paths, or logged output. The denial of service variant leverages recursive or oversized entity expansion to consume client resources.
No verified public exploit code is available. See the IBM Support Article for the vendor's technical description.
Detection Methods for CVE-2026-12667
Indicators of Compromise
- MQ messages containing RFH2 folders with <!DOCTYPE declarations or <!ENTITY definitions referencing SYSTEM identifiers.
- Outbound network connections from .NET client processes to unexpected hosts triggered immediately after message consumption.
- .NET client processes reading sensitive files such as configuration, credential, or key material outside their normal working set.
Detection Strategies
- Inspect MQ message payloads at the queue manager or channel exit for RFH2 folder content containing XML entity declarations.
- Correlate .NET client process telemetry with message-consumption events to identify anomalous file reads following queue activity.
- Alert on outbound DNS or HTTP requests from application hosts that host the IBM MQ .NET client and have no legitimate outbound traffic profile.
Monitoring Recommendations
- Enable MQ channel authentication and message-level auditing to record the identity of publishers submitting RFH2 messages.
- Forward .NET application logs, process telemetry, and network flow data to a centralized analytics platform for correlation.
- Track version inventory of IBM MQ client libraries deployed across the estate to identify unpatched .NET clients.
How to Mitigate CVE-2026-12667
Immediate Actions Required
- Apply the fix packs referenced in the IBM Support Article to all affected IBM MQ .NET client installations.
- Restrict which authenticated principals can publish to queues consumed by .NET clients using MQ channel authentication records and object authority manager (OAM) rules.
- Audit application hosts running the .NET client for unexpected outbound network activity and unauthorized file access.
Patch Information
IBM has published fix pack guidance covering the affected LTS and CD streams. Consult the IBM Support Article for specific fix pack identifiers, download locations, and upgrade paths for versions 9.1, 9.2, 9.3, 9.4, and 10.0.
Workarounds
- Block or filter inbound MQ messages containing RFH2 folders with DOCTYPE or ENTITY declarations using a message exit or gateway policy.
- Run .NET client application hosts with least-privilege service accounts to limit which files a successful XXE read can expose.
- Apply egress network controls preventing .NET client hosts from reaching arbitrary external URLs, reducing out-of-band data exfiltration paths.
# Example: restrict MQ channel to authenticated, authorized users only
runmqsc QMGR <<EOF
SET CHLAUTH('APP.SVRCONN') TYPE(BLOCKUSER) USERLIST('*MQADMIN')
SET CHLAUTH('APP.SVRCONN') TYPE(ADDRESSMAP) ADDRESS('10.0.0.0/8') USERSRC(CHANNEL)
ALTER QMGR CONNAUTH('USE.PW')
REFRESH SECURITY TYPE(CONNAUTH)
EOF
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

