OpenTelemetry Java Instrumentation предоставляет библиотеки автоматического инструментария и инструментов OpenTelemetry для Java. В версиях до 2.26.1 инструментарий RMI регистрировал пользовательскую конечную точку, которая десериализовала входящие данные без применения фильтров сериализации. В JDK версии 16 и более ранних злоумышленник, имеющий сетевой доступ к порту JMX или RMI на инструментированной JVM, может использовать это для потенциального удаленного выполнения кода.
Для использования этой уязвимости должны выполняться все три следующих условия: Во-первых, Java-инструментарий OpenTelemetry подключается как Java-агент («-javaagent») в Java 16 или более ранней версии. Во-вторых, порт JMX/RMI был явно настроен через `-Dcom.sun.management.jmxremote.port` и доступен по сети. В-третьих, в пути к классам присутствует библиотека, совместимая с цепочкой гаджетов.
Это приводит к удаленному выполнению произвольного кода с привилегиями пользователя, запускающего инструментированную JVM. Для JDK >= 17 никаких действий не требуется, но обновление настоятельно рекомендуется. Для JDK < 17 обновите его до версии 2.26.1 или новее.
В качестве обходного пути установите системное свойство `-Dotel.instrumentation.rmi.enabled=false`, чтобы отключить интеграцию RMI.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v4.0