Java
CVE-2026-33728
CRITICAL
Severity by source
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
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
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
Lifecycle Timeline
3DescriptionGitHub Advisory
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.
AnalysisAI
Remote code execution is possible in DataDog's dd-trace-java agent versions prior to 1.60.3 when running on JDK 16 or earlier with exposed JMX/RMI ports. The vulnerability stems from unsafe deserialization in the RMI instrumentation's custom endpoint, allowing network-accessible attackers to execute arbitrary code if gadget-chain libraries exist on the classpath. Vendor-released patch: version 1.60.3. No public exploit identified at time of analysis, though the issue was responsibly disclosed through DataDog's bug bounty program by Mohamed Amine ait Ouchebou.
Technical ContextAI
The affected product is com.datadoghq:dd-java-agent (CPE: pkg:maven/com.datadoghq:dd-java-agent), a distributed tracing library that instruments Java applications. The vulnerability (CWE-502: Deserialization of Untrusted Data) arises from the RMI instrumentation component registering a custom endpoint that deserializes incoming network data without applying serialization filters. Java's RMI (Remote Method Invocation) and JMX (Java Management Extensions) mechanisms allow remote method calls and management operations. When JMX remote monitoring is enabled via -Dcom.sun.management.jmxremote.port, the agent creates a network-accessible endpoint. Prior to JDK 8u121, Java lacked serialization filters; JDK 17+ enforces stricter deserialization protections by default. Exploitation requires gadget chains (sequences of existing classes that can be chained during deserialization to achieve code execution), commonly found in libraries like Apache Commons Collections or Spring Framework.
RemediationAI
Upgrade dd-trace-java to version 1.60.3 or later, as documented in the vendor advisory at https://github.com/DataDog/dd-trace-java/security/advisories/GHSA-579q-h82j-r5v2 and release announcement at https://github.com/DataDog/dd-trace-java/releases/tag/v1.60.3. Organizations running JDK 17 or later are protected by platform-level deserialization controls but should still upgrade to eliminate the vulnerable code path. For environments unable to immediately upgrade, set the environment variable DD_INTEGRATION_RMI_ENABLED=false to disable the vulnerable RMI integration. Additionally, restrict network access to JMX/RMI ports using firewall rules limiting connections to trusted management networks only, and review the classpath to remove unnecessary libraries that may contain deserialization gadget chains. Organizations on JDK versions prior to 8u121 should prioritize JDK upgrades alongside the dd-trace-java update.
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
Same weakness CWE-502 – Deserialization of Untrusted Data
View allShare
External POC / Exploit Code
Leaving vuln.today
GHSA-579q-h82j-r5v2