CVE-2026-33701 OpenTelemetry: Unsafe Deserialization in RMI Instrumentation may Lead to Remote Code Execution

Critical 9.3 Published Updated

An attacker with network access to a configured JMX/RMI port on a Java 16 or earlier JVM using OpenTelemetry instrumentation can achieve remote code execution via unsafe deserialization.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-33701?

CVE-2026-33701 is a critical unsafe deserialization vulnerability in open-telemetry opentelemetry-java-instrumentation, published on 27 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

OpenTelemetry Java Instrumentation provides OpenTelemetry auto-instrumentation and instrumentation libraries for Java. In versions prior to 2.26.1, 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, OpenTelemetry Java instrumentation is attached as a Java agent (`-javaagent`) on Java 16 or earlier. Second, JMX/RMI port has been explicitly configured via `-Dcom.sun.management.jmxremote.port` and is network-reachable. Third, gadget-chain-compatible library is present on the classpath. This results in arbitrary remote code execution with the privileges of the user running the instrumented JVM. For JDK >= 17, no action is required, but upgrading is strongly encouraged. For JDK < 17, upgrade to version 2.26.1 or later. As a workaround, set the system property `-Dotel.instrumentation.rmi.enabled=false` to disable the RMI integration.

Weakness: CWE-502

Which versions are affected by CVE-2026-33701?

2 open source packages ship an affected version, including io.opentelemetry.javaagent:opentelemetry-javaagent. It affects 1 product.

PackageAffectedFixed in
io.opentelemetry.javaagent:opentelemetry-javaagent MavenAll versions2.26.1
io.opentelemetry.javaagent:opentelemetry-javaagent MavenAll versions2.26.1

Products include Linuxfoundation Opentelemetry Instrumentation for Java.

How do I fix CVE-2026-33701?

Upgrade io.opentelemetry.javaagent:opentelemetry-javaagent to 2.26.1 or later.

Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.

Is CVE-2026-33701 being exploited?

There is no known exploitation of CVE-2026-33701 in the wild and no public exploit code.

Public exploit code: 1 proofs of concept on GitHub.

Sources

Also known as GHSA-xw7x-h9fj-p2c7, ROOT-APP-MAVEN-CVE-2026-33701.

Is CVE-2026-33701 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free