HIGH 7.5

CVE-2026-40007: Apache IoTDB AirGap Receiver Denial of Service via Uncontrolled Recursion

Apache IoTDB has a remotely exploitable denial-of-service flaw in its AirGap receiver component. When the AirGap receiver feature is enabled, an attacker can send specially crafted network messages that trigger unlimited recursive calls within the receiver's thread, eventually crashing the service by exhausting the Java Virtual Machine's stack memory. No authentication is required to exploit this vulnerability.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses (CWE)
CWE-400, CWE-674
Affected products
0 configuration(s)
Published / Modified
2026-07-10 / 2026-07-10

NVD description (verbatim)

Uncontrolled Recursion, Uncontrolled Resource Consumption vulnerability in Apache IoTDB. When pipe_air_gap_receiver_enabled=true, the IoTDB AirGap receiver's readLength method calls itself recursively each time it recognises the E-language prefix in socket data, with no depth limit. An unauthenticated attacker can send a stream of repeated E-language prefixes that drives the recursion arbitrarily deep, exhausting the receiver thread's JVM stack and raising StackOverflowError. 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.

2 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-40007 is an uncontrolled recursion vulnerability in Apache IoTDB's pipe_air_gap_receiver module. The readLength method in the AirGap receiver processes socket input and recursively invokes itself when it encounters an E-language prefix marker, with no depth limit enforced. An unauthenticated attacker can construct a stream of repeated E-language prefix tokens, causing the call stack to grow without bound until a StackOverflowError terminates the receiver thread. The vulnerability is rooted in missing input validation and absence of recursion depth limits (CWE-674, CWE-400).

Business impact

Exploitation results in immediate denial of service to the IoTDB instance. Any time-series data ingestion or querying through the affected AirGap receiver becomes unavailable until the service is manually restarted. In production environments where IoTDB handles real-time sensor or device data collection, a successful attack interrupts data pipeline operations and may lead to loss of data points, alerting delays, and downstream application failures that depend on continuous time-series availability.

Affected systems

Apache IoTDB versions 1.0.0 through 2.0.9 are affected. The vulnerability only manifests when the AirGap receiver feature is explicitly enabled via the pipe_air_gap_receiver_enabled configuration setting. Deployments with this feature disabled are not vulnerable. Organizations should verify their IoTDB configuration to determine exposure.

Exploitability

This vulnerability is highly exploitable. It requires no authentication, has low attack complexity, and needs only network access to the IoTDB service. An attacker can craft a simple exploit in minutes—repeating a known token pattern and sending it over the network socket. No special tools or privileges are needed. The attack surface is broad for any IoTDB instance with AirGap receiver enabled and exposed to untrusted networks.

Remediation

Upgrade Apache IoTDB to version 2.0.10 or later, which contains the fix. Before patching, consider disabling the pipe_air_gap_receiver_enabled configuration option if it is not actively used in your environment. If AirGap receiver must remain enabled, restrict network access to the IoTDB service using firewalls or network segmentation to permit only trusted clients.

Patch guidance

Verify against the vendor advisory and release notes that Apache IoTDB 2.0.10 addresses CVE-2026-40007 and contains the recursion depth limit fix. Test the upgrade in a non-production environment first to ensure compatibility with your data models and connected applications. After deploying the patch, confirm that the pipe_air_gap_receiver_enabled setting is appropriately configured and that AirGap receiver functionality works as expected.

Detection guidance

Monitor IoTDB service logs and JVM errors for sudden StackOverflowError exceptions in the receiver thread, particularly if they occur shortly after an increase in network traffic to the IoTDB port. Implement network-level monitoring to detect patterns of repeated or unusual socket data being sent to the service. Establish baseline metrics for normal recursion depth and thread stack usage, then alert on anomalies. Consider deploying an IDS/IPS signature that identifies repeated E-language prefix sequences in traffic destined for IoTDB.

Why prioritize this

With a CVSS v3.1 score of 7.5 (HIGH), unauthenticated network accessibility, and trivial exploit complexity, this vulnerability poses significant operational risk to affected deployments. While no data breach or code execution is possible, continuous availability is compromised. Organizations running IoTDB in production—especially those collecting time-critical sensor or device data—should treat this as a high-priority patch. The ease of exploitation and immediate service impact justify rapid remediation.

Risk score, explained

The score of 7.5 reflects a HIGH-severity denial-of-service attack that is remotely triggerable without authentication (AV:N, PR:N) and requires no special user interaction (UI:N). Attack complexity is low (AC:L), and the impact is high availability disruption (A:H). No confidentiality or integrity violation occurs (C:N, I:N), limiting the score. The threat is bounded to availability but is nearly certain to succeed if the precondition (AirGap receiver enabled) is met.

Frequently asked questions

Does this vulnerability affect all IoTDB deployments?

No. The vulnerability only manifests when the pipe_air_gap_receiver_enabled configuration option is set to true. If this feature is disabled or your IoTDB version is 2.0.10 or later, you are not affected. Review your configuration file to verify the status of this setting.

Can an attacker steal data or execute code via this vulnerability?

No. This is a denial-of-service vulnerability. An attacker can crash the AirGap receiver thread by exhausting stack memory, but cannot read data or run arbitrary code. However, the service disruption can be severe in production environments.

What is the E-language prefix and why is it dangerous here?

The E-language prefix is a marker token recognized by the IoTDB AirGap receiver's readLength method. The vulnerability exists because the code recursively processes this marker without depth limits. Sending repeated markers in quick succession causes unbounded recursion, leading to a stack overflow. Proper input validation and recursion depth checks would have prevented this.

What should I do if I cannot patch immediately?

If immediate patching is not possible, disable the pipe_air_gap_receiver_enabled setting in your IoTDB configuration if the AirGap receiver is not essential to your operations. If you must keep it enabled, restrict network access to the IoTDB service using firewall rules to permit only trusted and known clients. Monitor logs closely for signs of attack.

This analysis is provided for informational purposes and reflects publicly available vulnerability data as of the publication date. SEC.co makes no warranty regarding the completeness or accuracy of vendor patch information; verify all patch versions and compatibility against official Apache IoTDB release notes and security advisories. Organizations must conduct their own risk assessment based on their specific deployment, network architecture, and operational requirements. No exploit code or weaponized proof-of-concept is included in this analysis. Always test patches in a non-production environment before production deployment. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).