Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege publish access to Pulsar topic
-
DeliveryCraft malicious serialized Java object
-
ExploitSend as JMS ObjectMessage
-
ExecutionConsumer invokes vulnerable decode
-
PersistUntrusted object deserialized
-
ImpactTrigger gadget-chain code execution/app compromise
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires (1) the attacker to have low-privilege ability to publish JMS messages to a Pulsar destination consumed by a pulsar-jms client (PR:L - not unauthenticated), (2) a consuming application that receives and calls decode on a PulsarObjectMessage (i.e. uses JMS ObjectMessage rather than text/bytes messages), and (3) for meaningful code-execution impact, a suitable deserialization gadget chain present on the consumer's classpath. Limiting factors: the authentication/publish requirement, the need for the consumer to actually process ObjectMessage objects, and the gadget-dependency of impact. Applies to pulsar-jms versions up to and including 9.0.3; no fixed version is available. |
| Impact | This is a Java deserialization flaw (CWE-502) in the decode function of PulsarObjectMessage.java in DataStax pulsar-jms through 9.0.3. The only provided CVSS is a CVSS 4.0 vector (base 5.3, Medium) with AV:N/AC:L/PR:L/UI:N and uniformly Low impact (VC:L/VI:L/VA:L), plus E:P indicating a proof-of-concept exploit exists. POC is confirmed publicly available (GitHub issue #210), but the vulnerability is NOT in CISA KEV and no EPSS score was supplied, so there is no evidence of active or widespread exploitation - exploitation status is 'publicly available exploit code exists,' which is a distinct and weaker signal than in-the-wild use. The PR:L metric means the attacker must be an authenticated/low-privileged participant able to publish an ObjectMessage onto the broker, which materially limits the attacker population compared to an unauthenticated flaw. The most significant tension in the data: CWE-502 Java deserialization of untrusted objects frequently enables remote code execution (which would warrant High impact), yet the VulDB-sourced vector rates all impacts only Low - this likely reflects that real impact is contingent on exploitable gadget chains being present on the consumer's classpath, so the rating is conservative rather than definitive. Net assessment: a legitimate, patch-worthy issue for teams running pulsar-jms, but given authentication requirement, niche library footprint, no KEV listing, and gadget-dependent impact, it is a moderate-priority item rather than a drop-everything emergency. |
| Exploit ScenarioDerived | An attacker with low-privilege access to publish to a Pulsar topic sends a JMS ObjectMessage containing a maliciously crafted serialized Java object. When a consuming application invokes decode in PulsarObjectMessage, the untrusted object is deserialized, and if an exploitable gadget chain exists on the consumer classpath this can escalate to code execution or application compromise. A public proof-of-concept has been disclosed via the project's GitHub issue tracker. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 18, 2026
Java deserialization in DataStax pulsar-jms through 9.0.3 allows a low-privileged publisher to trigger unsafe object decoding in consuming JMS clients via crafted ObjectMessage content, potentially causing limited confidentiality, integrity, and availability impact, or code execution when a suitable gadget chain is present. Publicly available exploit code exists, but exploitation requires the consumer to process ObjectMessage payloads and depends on classpath gadgets for meaningful code-execution impact. No vendor-released fixed version is identified, and the project has not responded to the reported issue.
RemediationAI
No vendor-released patch identified at time of analysis; the project has not responded to GitHub issue 210, and no fixed version beyond 9.0.3 is confirmed. The most direct mitigation is to stop consuming JMS ObjectMessage payloads from less-trusted publishers and switch applications to TextMessage or BytesMessage, or explicitly reject ObjectMessage, with the trade-off that applications relying on serialized object bodies will break. If ObjectMessage must remain enabled, configure a strict JVM ObjectInputFilter allow-list that permits only expected application classes, accepting that legitimate serialized types must be enumerated and maintained as the application evolves. Because the assessed vector is PR:L, restrict Pulsar topic publish permissions to trusted principals and segment broker network access so low-privileged users cannot inject messages into consumed destinations, with the side effect of requiring ACL and credential updates for clients. Monitor https://github.com/datastax/pulsar-jms/issues/210 and https://vuldb.com/vuln/421580 for a patched release and upgrade once one is published.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is in the decode function of PulsarObjectMessage.java, which handles Java-serialized JMS ObjectMessage bodies. When a consumer application calls decode on attacker-controlled ObjectMessage content, untrusted bytes can be deserialized without adequate type restrictions, the classic CWE-502 unsafe deserialization root cause. The CPE cpe:2.3:a:datastax:pulsar-jms:*:*:*:*:*:*:*:* identifies the pulsar-jms package broadly, while the advisory and independent assessment bound affected releases at 9.0.3 and earlier. The CVSS 4.0 vector indicates network access, low privileges, no user interaction, and low impact across confidentiality, integrity, and availability; the independent CVSS 3.1 assessment raises attack complexity because a consumer must actually use ObjectMessage and a gadget chain is needed for code execution.
Know when Java gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
AV:N as messages are delivered over the network; PR:L because the attacker must be an authorized publisher; AC:H and only Low C/I/A because concrete impact depends on an exploitable gadget chain being present.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was determined in datastax pulsar-jms up to 9.0.3. This issue affects the function decode of the file pulsar-jms/src/main/java/com/datastax/oss/pulsar/jms/messages/PulsarObjectMessage.java. This manipulation causes deserialization. It is possible to initiate the attack remotely. The exploit has been publicly disclosed and may be utilized. The project was informed of the problem early through an issue report but has not responded yet.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-103379
GHSA-rp78-2737-x9fc
NVD
CVE.org
EPSS
VulDB
Exploit-DB