GHSA-579Q-H82J-R5V2

Vulnerability from github – Published: 2026-03-26 16:45 – Updated: 2026-03-27 21:37
VLAI?
Summary
dd-trace-java: Unsafe deserialization in RMI instrumentation may lead to remote code execution
Details

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: 1. dd-trace-java is attached as a Java agent (-javaagent) on Java 16 or earlier 2. A JMX/RMI port has been explicitly configured via -Dcom.sun.management.jmxremote.port and is network-reachable 3. 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.

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "Maven",
        "name": "com.datadoghq:dd-java-agent"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0.40.0"
            },
            {
              "fixed": "1.60.3"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2026-33728"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-502"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-03-26T16:45:41Z",
    "nvd_published_at": "2026-03-27T01:16:20Z",
    "severity": "CRITICAL"
  },
  "details": "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.\u00a0All three of the following conditions must be true to exploit this vulnerability:\n1. dd-trace-java is attached as a Java agent (`-javaagent`) on Java 16 or earlier\n2. A JMX/RMI port has been explicitly configured via `-Dcom.sun.management.jmxremote.port` and is network-reachable\n3. A gadget-chain-compatible library is present on the classpath\n\n### Impact\nArbitrary remote code execution with the privileges of the user running the instrumented JVM.\n\n### Recommendation\n- For JDK \u003e= 17: No action is required, but upgrading is strongly encouraged.\n- For JDK \u003e= 8u121 \u003c JDK 17: Upgrade to dd-trace-java version 1.60.3 or later.\n- For JDK \u003c 8u121 and earlier where serialization filters are not available, apply the workaround described below.\n\n### Workarounds\nSet the following environment variable to disable the RMI integration: `DD_INTEGRATION_RMI_ENABLED=false`\n\n### Credits\nThis vulnerability was responsibly disclosed by Mohamed Amine ait Ouchebou (mrecho) (Indiesecurity) via the Datadog bug bounty program.",
  "id": "GHSA-579q-h82j-r5v2",
  "modified": "2026-03-27T21:37:22Z",
  "published": "2026-03-26T16:45:41Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/DataDog/dd-trace-java/security/advisories/GHSA-579q-h82j-r5v2"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-33728"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/DataDog/dd-trace-java"
    },
    {
      "type": "WEB",
      "url": "https://github.com/DataDog/dd-trace-java/releases/tag/v1.60.3"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "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",
      "type": "CVSS_V4"
    }
  ],
  "summary": "dd-trace-java: Unsafe deserialization in RMI instrumentation may lead to remote code execution"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…