Security Vulnerability Report
中文
CVE-2026-39304 CVSS 7.5 HIGH

CVE-2026-39304

Published: 2026-04-10 11:16:23
Last Modified: 2026-05-01 15:21:36

Description

Denial of Service via Out of Memory vulnerability in Apache ActiveMQ Client, Apache ActiveMQ Broker, Apache ActiveMQ. ActiveMQ NIO SSL transports do not correctly handle TLSv1.3 handshake KeyUpdates triggered by clients. This makes it possible for a client to rapidly trigger updates which causes the broker to exhaust all its memory in the SSL engine leading to DoS. Note: TLS versions before TLSv1.3 (such as TLSv1.2) are broken but are not vulnerable to OOM. Previous TLS versions require a full handshake renegotiation which causes a connection to hang but not OOM. This is fixed as well. This issue affects Apache ActiveMQ Client: before 5.19.4, from 6.0.0 before 6.2.4; Apache ActiveMQ Broker: before 5.19.4, from 6.0.0 before 6.2.4; Apache ActiveMQ: before 5.19.4, from 6.0.0 before 6.2.4. Users are recommended to upgrade to version 6.2.4 or 5.19.5, which fixes the issue.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:apache:activemq:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:apache:activemq:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:apache:activemq_broker:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:apache:activemq_broker:*:*:*:*:*:*:*:* - VULNERABLE
Apache ActiveMQ Client < 5.19.4
Apache ActiveMQ Client >= 6.0.0, < 6.2.4
Apache ActiveMQ Broker < 5.19.4
Apache ActiveMQ Broker >= 6.0.0, < 6.2.4
Apache ActiveMQ < 5.19.4
Apache ActiveMQ >= 6.0.0, < 6.2.4

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import socket import ssl # This is a conceptual PoC. It simulates the connection logic. # Actual exploitation requires crafting raw TLS KeyUpdate records (ContentType 24). def exploit_oom(host, port): try: # Establish TCP connection sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(5) print(f"[+] Connecting to {host}:{port}...") sock.connect((host, port)) # Wrap socket with SSL context (TLS 1.3) context = ssl.SSLContext(ssl.PROTOCOL_TLS) context.check_hostname = False context.verify_mode = ssl.CERT_NONE # Perform TLS Handshake ssl_sock = context.wrap_socket(sock, server_hostname=host) print(f"[+] TLS Handshake established.") # In a real exploit scenario, the attacker would send a flood of # KeyUpdate requests here. Standard Python 'ssl' library does not # support sending raw KeyUpdate records directly. # The vulnerability is triggered by rapid KeyUpdate packets. print("[!] Sending malicious KeyUpdate packets (Simulated)...") # Malicious loop would go here: send(construct_keyupdate_record()) ssl_sock.close() print("[+] Connection closed.") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": target_host = "192.168.1.100" target_port = 61617 # Default ActiveMQ NIO SSL port exploit_oom(target_host, target_port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-39304", "sourceIdentifier": "[email protected]", "published": "2026-04-10T11:16:23.143", "lastModified": "2026-05-01T15:21:36.333", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Denial of Service via Out of Memory vulnerability in Apache ActiveMQ Client, Apache ActiveMQ Broker, Apache ActiveMQ.\n\nActiveMQ NIO SSL transports do not correctly handle TLSv1.3 handshake KeyUpdates triggered by clients. This makes it possible for a client to rapidly trigger updates which causes the broker to exhaust all its memory in the SSL engine leading to DoS.\n\nNote: TLS versions before TLSv1.3 (such as TLSv1.2) are broken but are not vulnerable to OOM. Previous TLS versions require a full handshake renegotiation which causes a connection to hang but not OOM. This is fixed as well.\nThis issue affects Apache ActiveMQ Client: before 5.19.4, from 6.0.0 before 6.2.4; Apache ActiveMQ Broker: before 5.19.4, from 6.0.0 before 6.2.4; Apache ActiveMQ: before 5.19.4, from 6.0.0 before 6.2.4.\n\nUsers are recommended to upgrade to version 6.2.4 or 5.19.5, which fixes the issue."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-400"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:apache:activemq:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.19.4", "matchCriteriaId": "83EF7DD6-C3A9-4561-ADC0-1E6ED5429307"}, {"vulnerable": true, "criteria": "cpe:2.3:a:apache:activemq:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.0.0", "versionEndExcluding": "6.2.4", "matchCriteriaId": "4BAE411E-AC4C-4BC7-88F0-06A57D2768DD"}, {"vulnerable": true, "criteria": "cpe:2.3:a:apache:activemq_broker:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.19.4", "matchCriteriaId": "ECEF15DD-10E8-40A4-897B-3DA7F12E2C07"}, {"vulnerable": true, "criteria": "cpe:2.3:a:apache:activemq_broker:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.0.0", "versionEndExcluding": "6.2.4", "matchCriteriaId": "2C299CB9-FEA4-4CC5-B3A5-D1170BE63560"}]}]}], "references": [{"url": "https://activemq.apache.org/security-advisories.data/CVE-2026-39304-announcement.txt", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "http://www.openwall.com/lists/oss-security/2026/04/09/17", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": ["Mailing List", "Third Party Advisory"]}]}}