Someone can blow up your enterprise message bus with a single crafted packet and no password
CVE-2026-10747 is a heap-based buffer overflow (CWE-122) in the protocol message processing layer of IBM MQ Appliance. The flaw triggers *before authentication*, meaning any network-adjacent attacker — or any insider — who can reach the MQ listener port (typically TCP/1414) can send a crafted message that overflows a heap buffer, potentially achieving arbitrary code execution or, at minimum, crashing the appliance. Affected versions span IBM MQ Appliance 9.4 LTS (9.4.0.0 – 9.4.0.25), 9.4 CD (9.4.1.0 – 9.4.5.2), and 10.0 LTS (10.0.0.0 – 10.0.0.1). Patches are available in 9.4.0.26, 9.4.5.3, and 10.0.0.5.
IBM's vendor CVSS of 10.0 with S:C is aggressive but defensible on paper: the attack is pre-auth, low-complexity, requires zero user interaction, and compromising the appliance lets an attacker tamper with every message flowing through it — affecting downstream systems beyond the appliance's own security boundary. In practice, noisgate shaves this to 9.6 because MQ Appliance port 1414 is virtually never internet-facing (it lives deep inside the data center), no public proof-of-concept exists yet, and EPSS places exploitation probability at only 0.52% in the next 30 days. That said, the floor stays CRITICAL: IBM MQ Appliance is, by definition, a high-value production middleware component in nearly 100% of its deployments. Pre-auth RCE on the message backbone is a domain-takeover-equivalent event for business-critical data flows.
4 steps from start to impact.
Reach the MQ listener port
- Network access to MQ listener port (TCP/1414 default)
- Port 1414 is almost never internet-exposed — Shodan shows negligible MQ Appliance results
- Internal network segmentation, VLANs, and firewall rules may restrict access to authorized application hosts only
Send crafted protocol message
- Ability to craft and send raw MQ protocol data (no valid credentials needed)
- Knowledge of the heap overflow trigger — currently no public PoC or detailed write-up
- No public PoC or exploit code is available as of 2026-09-22
- IBM MQ uses a proprietary binary protocol, raising the bar for exploit development compared to HTTP-based vulns
- Heap exploitation on modern Linux-based appliances requires heap grooming to achieve reliable RCE; naive attempts more likely cause DoS
Achieve code execution or denial of service
- Successful heap buffer overflow with controlled corruption
- ASLR and other heap hardening on the appliance OS may reduce RCE reliability
- The appliance runs a hardened firmware image, limiting post-exploitation tooling
Pivot and manipulate message flows
- Successful RCE on the appliance
- Appliance filesystem is read-only in many configurations, limiting persistence
- Network monitoring may detect unusual outbound connections from the appliance
The supporting signals.
| In-the-wild exploitation | Not observed. Not listed in CISA KEV catalog. No confirmed campaigns or threat actor attribution as of 2026-09-22. |
|---|---|
| Proof-of-concept | No public PoC. No exploit code on GitHub, ExploitDB, or Metasploit. IBM MQ's proprietary binary protocol raises the bar for independent exploit development. |
| EPSS score | 0.00519 (0.52%) — 43rd percentile. Model rates exploitation probability in the next 30 days as low, consistent with no public PoC and niche attack surface. |
| KEV status | Not listed in CISA Known Exploited Vulnerabilities catalog as of 2026-09-22. |
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H — Perfect 10.0. Pre-auth, network-accessible, scope-changed, full CIA impact. The S:C reflects downstream impact on all applications consuming MQ messages. |
| Affected versions | IBM MQ Appliance 9.4 LTS 9.4.0.0–9.4.0.25, 9.4 CD 9.4.1.0–9.4.5.2, 10.0 LTS 10.0.0.0–10.0.0.1 |
| Fixed versions | 9.4.0.26 (9.4 LTS), 9.4.5.3 (9.4 CD), 10.0.0.5 (10.0 LTS). No workaround — patch is the only remediation. IBM advisory node 7284690. |
| Internet exposure | Near zero. IBM MQ Appliance listens on TCP/1414 (default), which is deployed on internal networks in virtually all cases. Shodan/Censys show negligible internet-facing MQ Appliance instances. Attack surface is internal-network-only for practical purposes. |
| Disclosure timeline | CVE reserved 2026-06-03, published 2026-09-18, last updated 2026-09-21. Four days old at time of assessment. |
| Reporter | Reported through IBM's internal security response process. No external researcher credited in public advisories. |
Why this verdict
- Pre-auth RCE with zero interaction: The vulnerability triggers in protocol message processing *before* authentication. Any attacker who can reach port 1414 can exploit it — no credentials, no user clicks, no special configuration. This is the most dangerous class of bug.
- Scope:Changed is legitimate here: Compromising the MQ Appliance affects every downstream application that consumes or produces messages through it — financial systems, order processing, ERP integration, API gateways. The blast radius extends well beyond the appliance itself.
- Role multiplier: IBM MQ Appliance is *by definition* a high-value production middleware component. Virtually 100% of deployments sit in the production data center, handling business-critical message flows. The blast radius of RCE on MQ Appliance is application-tier to fleet-scale: message manipulation, credential theft from stored channel configurations, pivot to connected app servers, and potential supply-chain-scale impact in financial services. This floors the verdict at CRITICAL.
- Downward adjustment — internal-only exposure: Port 1414 is almost never internet-facing. Realistic exploitation requires either an insider threat or post-initial-access lateral movement to reach the appliance. This narrows the reachable attacker population significantly compared to an internet-facing service, justifying a 0.4-point reduction from the vendor's 10.0.
- Downward adjustment — no PoC or ITW exploitation: No public exploit code exists. The proprietary MQ binary protocol requires reverse engineering to develop a working exploit. EPSS at 0.52% corroborates low near-term exploitation probability. However, state-level actors and sophisticated ransomware groups routinely develop private exploits for high-value targets, and MQ's presence in financial services makes it an attractive target.
Why not higher?
The vendor already assigned the maximum possible score of 10.0. noisgate's 9.6 is a fractional downgrade reflecting real-world exposure constraints — near-zero internet-facing surface and no current PoC — that make mass exploitation less likely *today*. The underlying technical severity is as bad as advertised.
Why not lower?
Dropping below CRITICAL would ignore the deployment-role reality: IBM MQ Appliance is a canonical high-value-role component where >90% of installations sit in production data centers carrying business-critical traffic. Pre-auth RCE on the enterprise message backbone is a fleet-scale compromise enabler. The lack of a public PoC buys time but does not change the blast radius once one emerges. Internal network accessibility is not a meaningful barrier — any attacker with initial foothold reaches MQ because applications need to reach MQ.
What to do — in priority order.
- Apply vendor patches immediately — Upgrade to 9.4.0.26 (LTS), 9.4.5.3 (CD), or 10.0.0.5 within the noisgate CRITICAL mitigation SLA of 3 days. IBM states no workaround exists — patching is the only remediation. Schedule emergency maintenance windows for MQ Appliance firmware updates.
- Restrict port 1414 access to authorized source IPs only — Implement firewall rules / ACLs that permit TCP/1414 connections only from known application server IPs. This is the single most effective compensating control until patching is complete. Deploy within hours if the patch cannot be applied in 3 days.
- Enable MQ channel authentication records (CHLAUTH) — Configure CHLAUTH rules to reject connections from unauthorized IP addresses and user IDs at the MQ layer. While the vulnerability is pre-auth (it fires before CHLAUTH processing), defense-in-depth still matters for reducing overall attack surface.
- Monitor MQ Appliance logs and network traffic — Configure SIEM alerting on MQ Appliance error logs (AMQ errors, core dumps, unexpected restarts). Set up network flow monitoring for anomalous connections to port 1414 from non-application sources. Deploy within 24 hours.
- Segment the MQ Appliance VLAN — Place MQ Appliances in a dedicated network segment with strict ingress/egress rules. Block all outbound internet access from the appliance to limit post-exploitation data exfiltration and C2 communication.
- TLS/SSL on the MQ listener does not help — the heap overflow occurs in protocol message processing *before* TLS handshake completion or authentication. Encrypted channels do not prevent the malformed packet from reaching the vulnerable code path.
- MQ Appliance web console hardening (port 9443) is irrelevant — the vulnerability is in the MQ protocol handler on port 1414, not the administrative web interface.
- WAF or HTTP-layer inspection cannot inspect MQ's proprietary binary protocol on port 1414. HTTP-layer controls are blind to this attack vector.
Crowdsourced verification payload.
Run this script on the MQ Appliance itself via SSH, or on a management workstation with SSH access. Invoke with: bash check_cve_2026_10747.sh <appliance_hostname_or_ip>. Requires SSH access with an admin-level account on the appliance, or run locally on the appliance shell.
#!/bin/bash
# check_cve_2026_10747.sh — CVE-2026-10747 IBM MQ Appliance heap overflow checker
# Usage: bash check_cve_2026_10747.sh [appliance_host]
# If no host given, checks local appliance.
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN
set -euo pipefail
HOST="${1:-localhost}"
get_version() {
if [ "$HOST" = "localhost" ] || [ "$HOST" = "$(hostname)" ]; then
dspmqver 2>/dev/null | grep -i 'version' | head -1 | awk '{print $NF}'
else
ssh "$HOST" 'dspmqver 2>/dev/null' | grep -i 'version' | head -1 | awk '{print $NF}'
fi
}
VERSION=$(get_version 2>/dev/null || true)
if [ -z "$VERSION" ]; then
echo "UNKNOWN — could not determine IBM MQ Appliance version on $HOST"
exit 2
fi
echo "Detected IBM MQ Appliance version: $VERSION"
# Parse major.minor.mod.fix
IFS='.' read -r MAJ MIN MOD FIX <<< "$VERSION"
# Fixed versions:
# 9.4 LTS: 9.4.0.26+
# 9.4 CD: 9.4.5.3+
# 10.0 LTS: 10.0.0.5+
if [ "$MAJ" -eq 9 ] && [ "$MIN" -eq 4 ] && [ "$MOD" -eq 0 ]; then
# 9.4 LTS stream
if [ "$FIX" -ge 26 ]; then
echo "PATCHED — $VERSION is 9.4 LTS at fix pack 26 or later (CVE-2026-10747 fixed in 9.4.0.26)"
exit 0
else
echo "VULNERABLE — $VERSION is 9.4 LTS below fix pack 26 (need 9.4.0.26+)"
exit 1
fi
elif [ "$MAJ" -eq 9 ] && [ "$MIN" -eq 4 ] && [ "$MOD" -ge 1 ]; then
# 9.4 CD stream (9.4.1.x - 9.4.5.x)
if [ "$MOD" -gt 5 ] || ([ "$MOD" -eq 5 ] && [ "$FIX" -ge 3 ]); then
echo "PATCHED — $VERSION is 9.4 CD at 9.4.5.3 or later (CVE-2026-10747 fixed in 9.4.5.3)"
exit 0
else
echo "VULNERABLE — $VERSION is 9.4 CD below 9.4.5.3 (need 9.4.5.3+)"
exit 1
fi
elif [ "$MAJ" -eq 10 ] && [ "$MIN" -eq 0 ] && [ "$MOD" -eq 0 ]; then
# 10.0 LTS stream
if [ "$FIX" -ge 5 ]; then
echo "PATCHED — $VERSION is 10.0 LTS at fix pack 5 or later (CVE-2026-10747 fixed in 10.0.0.5)"
exit 0
else
echo "VULNERABLE — $VERSION is 10.0 LTS below fix pack 5 (need 10.0.0.5+)"
exit 1
fi
else
echo "UNKNOWN — $VERSION does not match known affected version ranges (9.4.x or 10.0.0.x)"
exit 2
fi- SecurityOnline — Critical IBM MQ Vulnerabilities CVE-2026-10747
- OffSeq Threat Radar — CVE-2026-10747 Live Threat Intelligence
- Shenlong CVE Platform — IBM MQ Appliance Heap Overflow Intel
- Strix AI — CVE-2026-10747 Analysis
- ThreatInt — CVE-2026-10747 Record
- Vulners — CVE-2026-10747
- HackTricks — 1414 Pentesting IBM MQ
- Enlyft — IBM WebSphere MQ Market Share
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.