Description
Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in Apache IoTDB.
The pipe processor reads a fully
qualified Java class name and
instantiates it using Class.forName().newInstance() without any
validation or allowlisting.


This issue affects Apache IoTDB: from 1.0.0 before 2.0.10.

Users are recommended to upgrade to version 2.0.10, which fixes the issue.
Published: 2026-07-10
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The pipe processor in Apache IoTDB accepts a fully qualified Java class name from external input and uses Class.forName() to instantiate it. The absence of any validation or allowlist means an attacker can supply any class name, resulting in arbitrary code execution with the process’s privileges. This flaw is a classic unsafe reflection vulnerability, categorized as CWE‑470, and poses a high‑severity risk to confidentiality, integrity, and availability of the affected systems.

Affected Systems

Apache IoTDB versions 1.0.0 through 2.0.9 are affected. All releases prior to 2.0.10 contain the vulnerable code path.

Risk and Exploitability

The vulnerability carries a CVSS score of 9.8, indicating critical severity. The EPSS score is less than 1%, suggesting a low probability of exploitation at this time, and the flaw is not listed in the CISA KEV catalog. It is inferred that the attack vector is the pipe transfer RPC interface exposed by IoTDB, wherein a remote attacker can transmit malicious class names over the network to trigger the unsafe instantiation.

Generated by OpenCVE AI on July 29, 2026 at 11:15 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Apache IoTDB version 2.0.10 or later, which removes the unsafe reflection code.
  • Restrict network access to the pipe transfer RPC endpoint using firewall rules or network segmentation until the upgrade is applied.
  • If an upgrade cannot be performed immediately, disable the pipe processor feature in the IoTDB configuration to prevent external class instantiation until a security update is available.

Generated by OpenCVE AI on July 29, 2026 at 11:15 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 10 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 10 Jul 2026 10:15:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache iotdb
Vendors & Products Apache
Apache iotdb

Fri, 10 Jul 2026 08:00:00 +0000

Type Values Removed Values Added
Description Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in Apache IoTDB. The pipe processor reads a fully qualified Java class name and instantiates it using Class.forName().newInstance() without any validation or allowlisting. This issue affects Apache IoTDB: from 1.0.0 before 2.0.10. Users are recommended to upgrade to version 2.0.10, which fixes the issue.
Title Apache IoTDB: Arbitrary Class Instantiation via Pipe Transfer RPC
Weaknesses CWE-470
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-07-10T14:54:56.744Z

Reserved: 2026-04-08T08:42:56.547Z

Link: CVE-2026-40008

cve-icon Vulnrichment

Updated: 2026-07-10T14:54:56.744Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-29T11:30:17Z

Weaknesses
  • CWE-470

    Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')