Datadog SSI Injector can be used to trigger a Local Privilege Escalation in certain conditions
Impact
The Datadog Single Step Instrumentation (SSI) injector (datadog-apm-inject) in the affected versions stores some helper tooling in a predictable directory on the host filesystem. A local unprivileged attacker with shell access to the same host can use this to execute code with the privileges of the instrumented Java service process in certain circumstances..
Affected systems are those where all of the following are true:
- Datadog Single Step Instrumentation (SSI) is enabled on Linux or Kubernetes
- At least one Java service is being instrumented via SSI
datadog-apm-injectversion is below v0.66.0
Services using the Datadog Java agent (dd-java-agent) without SSI are not affected. No other language runtimes (Python, Ruby, Go, Node.js, .NET, PHP, Rust) are affected.
Patches
The issue is fixed in datadog-apm-inject v0.66.0+.
Users should upgrade to version 0.66.0 or later and restart all instrumented Java services:
- Kubernetes (Helm): Upgrade the Datadog Helm chart to a recent release (latest recommended). Remove any cluster-lever pinning of the injector in
datadog.apm.instrumentation.injector.imageTag. Remove any pod-level annotation (admission.datadoghq.com/apm-inject.versionoradmission.datadoghq.com/apm-inject.custom-image) that pins the injector to a version below 0.66.0. Restart the affected Java application deployments. - Kubernetes...
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| datadog-apm-inject Product | < 0.66.0 | 0.66.0 |
Details and references
### Impact The Datadog Single Step Instrumentation (SSI) injector (`datadog-apm-inject`) in the affected versions stores some helper tooling in a predictable directory on the host filesystem. A local unprivileged attacker with shell access to the same host can use this to execute code with the privileges of the instrumented Java service process in certain circumstances.. Affected systems are those where all of the following are true: - Datadog Single Step Instrumentation (SSI) is enabled on Linux or Kubernetes - At least one Java service is being instrumented via SSI - `datadog-apm-inject` version is below v0.66.0 Services using the Datadog Java agent (`dd-java-agent`) without SSI are not affected. No other language runtimes (Python, Ruby, Go, Node.js, .NET, PHP, Rust) are affected. ### Patches The issue is fixed in `datadog-apm-inject` v0.66.0+. Users should upgrade to version 0.66.0 or later and restart all instrumented Java services: - Kubernetes (Helm): Upgrade the Datadog Helm chart to a recent release (latest recommended). Remove any cluster-lever pinning of the injector in `datadog.apm.instrumentation.injector.imageTag`. Remove any pod-level annotation (`admission.datadoghq.com/apm-inject.version` or `admission.datadoghq.com/apm-inject.custom-image`) that pins the injector to a version below 0.66.0. Restart the affected Java application deployments. - Kubernetes (Datadog Operator): Upgrade the Datadog Operator to a recent release (latest recommended). Remove any cluster-level pinning of the injector in `spec.features.apm.instrumentation.injector.imageTag`. Remove any pod-level annotation pinning an older injector version. Restart the affected Java application deployments. - Linux: Upgrade the Datadog Agent and SSI components to the latest version using the [install script](https://app.datadoghq.com/fleet/install-agent/latest?platform=linux) or [Fleet Automation](https://docs.datadoghq.com/agent/fleet_automation/upgrade_agents). Verify the installed version with `cat /opt/datadog-packages/datadog-apm-inject/stable/version`. Restart all affected Java applications. ### Workarounds If an immediate upgrade is not possible: - Ensure the host or container running Java services has no other local users with shell access. - In Kubernetes, enforce pod-level filesystem isolation and avoid shared `/tmp` volumes across pods on the same node. ### References - Datadog Fleet Automation upgrade guide: https://docs.datadoghq.com/agent/fleet_automation/upgrade_agents - Datadog Single Step Instrumentation documentation: https://docs.datadoghq.com/tracing/trace_collection/automatic_instrumentation/ - Datadog Agent install script: https://app.datadoghq.com/fleet/install-agent/latest?platform=linux
- CVSS 3.1
- CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-379