CVE-2026-33728
dd-trace-java: Unsafe deserialization in RMI instrumentation may lead to remote code execution
dd-trace-java is a Datadog APM client for Java. In versions of dd-trace-java 0.40.0 through prior to 1.60.2, the RMI instrumentation registered a custom endpoint that deserialized incoming data without applying serialization filters. On JDK version 16 and earlier, an attacker with network access to a JMX or RMI port on an instrumented JVM could exploit this to potentially achieve remote code execution. All three of the following conditions must be true to exploit this vulnerability: First, dd-trace-java is attached as a Java agent (-javaagent) on Java 16 or earlier. Second, a JMX/RMI port has been explicitly configured via -Dcom.sun.management.jmxremote.port and is network-reachable, Third, a gadget-chain-compatible library is present on the classpath. For JDK >= 17, no action is required, but upgrading is strongly encouraged. For JDK >= 8u121 < JDK 17, upgrade to dd-trace-java version 1.60.3 or later. For JDK < 8u121 and earlier where serialization filters are not available, apply the workaround. The workaround is to set the following environment variable to disable the RMI integration: DD_INTEGRATION_RMI_ENABLED=false.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
9.3
dd-trace-java: Unsafe deserialization in RMI instrumentation may lead to remote code execution
dd-trace-java is a Datadog APM client for Java. In versions of dd-trace-java 0.40.0 through prior to 1.60.2, the RMI instrumentation registered a custom endpoint that deserialized incoming data without applying serialization filters. On JDK version 16 and earlier, an attacker with network access to a JMX or RMI port on an instrumented JVM could exploit this to potentially achieve remote code execution. All three of the following conditions must be true to exploit this vulnerability: First, dd-trace-java is attached as a Java agent (-javaagent) on Java 16 or earlier. Second, a JMX/RMI port has been explicitly configured via -Dcom.sun.management.jmxremote.port and is network-reachable, Third, a gadget-chain-compatible library is present on the classpath. For JDK >= 17, no action is required, but upgrading is strongly encouraged. For JDK >= 8u121 < JDK 17, upgrade to dd-trace-java version 1.60.3 or later. For JDK < 8u121 and earlier where serialization filters are not available, apply the workaround. The workaround is to set the following environment variable to disable the RMI integration: DD_INTEGRATION_RMI_ENABLED=false.
- Record
CVE-2026-33728- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-502
- Updated
- 2026-11-02
EUVDEUVD-2026-16505
9.3
dd-trace-java is a Datadog APM client for Java. In versions of dd-trace-java 0.40.0 through prior to 1.60.2, the RMI instrumentation registered a custom endpoint that deserialized incoming data without applying serialization filters. On JDK version 16 and earlier, an attacker with network access to a JMX or RMI port on an instrumented JVM could exploit this to potentially achieve remote code execution. All three of the following conditions must be true to exploit this vulnerability: First, dd-trace-java is attached as a Java agent (-javaagent) on Java 16 or earlier. Second, a JMX/RMI port has been explicitly configured via -Dcom.sun.management.jmxremote.port and is network-reachable, Third, a gadget-chain-compatible library is present on the classpath. For JDK >= 17, no action is required, but upgrading is strongly encouraged. For JDK >= 8u121 < JDK 17, upgrade to dd-trace-java version 1.60.3 or later. For JDK < 8u121 and earlier where serialization filters are not available, apply the workaround. The workaround is to set the following environment variable to disable the RMI integration: DD_INTEGRATION_RMI_ENABLED=false.
- Record
EUVD-2026-16505- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-579q-h82j-r5v2
9.3
dd-trace-java: Unsafe deserialization in RMI instrumentation may lead to remote code execution
In versions of dd-trace-java prior to 1.60.3, the RMI instrumentation registered a custom endpoint that deserialized incoming data without applying serialization filters. On JDK version 16 and earlier, an attacker with network access to a JMX or RMI port on an instrumented JVM could exploit this to potentially achieve remote code execution. All three of the following conditions must be true to exploit this vulnerability:
- dd-trace-java is attached as a Java agent (
-javaagent) on Java 16 or earlier - A JMX/RMI port has been explicitly configured via
-Dcom.sun.management.jmxremote.portand is network-reachable - A gadget-chain-compatible library is present on the classpath
Impact
Arbitrary remote code execution with the privileges of the user running the instrumented JVM.
Recommendation
- For JDK >= 17: No action is required, but upgrading is strongly encouraged.
- For JDK >= 8u121 < JDK 17: Upgrade to dd-trace-java version 1.60.3 or later.
- For JDK < 8u121 and earlier where serialization filters are not available, apply the workaround described below.
Workarounds
Set the following environment variable to disable the RMI integration: DD_INTEGRATION_RMI_ENABLED=false
Credits
This vulnerability was responsibly disclosed by Mohamed Amine ait Ouchebou (mrecho) (Indiesecurity) via the Datadog bug bounty program.
- Record
GHSA-579q-h82j-r5v2- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
NVD
9.3
dd-trace-java is a Datadog APM client for Java. In versions of dd-trace-java 0.40.0 through prior to 1.60.2, the RMI instrumentation registered a custom endpoint that deserialized incoming data without applying serialization filters. On JDK version 16 and earlier, an attacker with network access to a JMX or RMI port on an instrumented JVM could exploit this to potentially achieve remote code execution. All three of the following conditions must be true to exploit this vulnerability: First, dd-trace-java is attached as a Java agent (-javaagent) on Java 16 or earlier. Second, a JMX/RMI port has been explicitly configured via -Dcom.sun.management.jmxremote.port and is network-reachable, Third, a gadget-chain-compatible library is present on the classpath. For JDK >= 17, no action is required, but upgrading is strongly encouraged. For JDK >= 8u121 < JDK 17, upgrade to dd-trace-java version 1.60.3 or later. For JDK < 8u121 and earlier where serialization filters are not available, apply the workaround. The workaround is to set the following environment variable to disable the RMI integration: DD_INTEGRATION_RMI_ENABLED=false.
- Record
CVE-2026-33728- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
OSV
9.3
dd-trace-java: Unsafe deserialization in RMI instrumentation may lead to remote code execution
dd-trace-java is a Datadog APM client for Java. In versions of dd-trace-java 0.40.0 through prior to 1.60.2, the RMI instrumentation registered a custom endpoint that deserialized incoming data without applying serialization filters. On JDK version 16 and earlier, an attacker with network access to a JMX or RMI port on an instrumented JVM could exploit this to potentially achieve remote code execution. All three of the following conditions must be true to exploit this vulnerability: First, dd-trace-java is attached as a Java agent (-javaagent) on Java 16 or earlier. Second, a JMX/RMI port has been explicitly configured via -Dcom.sun.management.jmxremote.port and is network-reachable, Third, a gadget-chain-compatible library is present on the classpath. For JDK >= 17, no action is required, but upgrading is strongly encouraged. For JDK >= 8u121 < JDK 17, upgrade to dd-trace-java version 1.60.3 or later. For JDK < 8u121 and earlier where serialization filters are not available, apply the workaround. The workaround is to set the following environment variable to disable the RMI integration: DD_INTEGRATION_RMI_ENABLED=false.
- Record
CVE-2026-33728- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-502
- Updated
- 2026-11-02
OSVGHSA-579q-h82j-r5v2
9.3
dd-trace-java: Unsafe deserialization in RMI instrumentation may lead to remote code execution
In versions of dd-trace-java prior to 1.60.3, the RMI instrumentation registered a custom endpoint that deserialized incoming data without applying serialization filters. On JDK version 16 and earlier, an attacker with network access to a JMX or RMI port on an instrumented JVM could exploit this to potentially achieve remote code execution. All three of the following conditions must be true to exploit this vulnerability:
- dd-trace-java is attached as a Java agent (
-javaagent) on Java 16 or earlier - A JMX/RMI port has been explicitly configured via
-Dcom.sun.management.jmxremote.portand is network-reachable - A gadget-chain-compatible library is present on the classpath
Impact
Arbitrary remote code execution with the privileges of the user running the instrumented JVM.
Recommendation
- For JDK >= 17: No action is required, but upgrading is strongly encouraged.
- For JDK >= 8u121 < JDK 17: Upgrade to dd-trace-java version 1.60.3 or later.
- For JDK < 8u121 and earlier where serialization filters are not available, apply the workaround described below.
Workarounds
Set the following environment variable to disable the RMI integration: DD_INTEGRATION_RMI_ENABLED=false
Credits
This vulnerability was responsibly disclosed by Mohamed Amine ait Ouchebou (mrecho) (Indiesecurity) via the Datadog bug bounty program.
- Record
GHSA-579q-h82j-r5v2- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
com.datadoghq:dd-java-agentMaven |
0.40.0 up to 1.60.3 | 1.60.3 |
com.datadoghq:dd-java-agentMaven |
0.40.0 up to 1.60.3, plus listed versions 0.100.00.101.00.102.00.103.00.104.0 Show 45 moreShow less0.105.00.106.00.107.00.107.10.108.00.108.10.108.20.109.00.109.10.110.00.111.00.112.00.113.00.114.00.115.00.115.10.41.00.42.00.43.00.44.00.45.00.46.00.47.00.48.00.49.00.50.00.51.00.52.00.53.00.54.00.55.00.55.10.56.00.57.00.58.00.59.00.60.00.60.10.61.00.62.00.63.00.64.00.65.00.66.00.67.0 |
1.60.3 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-33728 is a critical vulnerability (CVSS 9.3) in Datadog Dd-trace-java, published March 26, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.71%, the 53rd percentile. Fixed in com.datadoghq:dd-java-agent 1.60.3.
References
github.com/DataDog/dd-trace-java/security/advisories/GHSA-579q-h82j-r5v2
github.com/DataDog/dd-trace-java/releases/tag/v1.60.3
nvd.nist.gov/vuln/detail/CVE-2026-33728
github.com/advisories/GHSA-579q-h82j-r5v2
github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33728.json
github.com/DataDog/dd-trace-java
Left out here: 163 versions. The JSON record has them.