Uncontrolled Resource ConsumptionWeakness · CWE-400

CVE-2026-40007

HIGH · 7.5 CVSS v3.1 Published 2026-07-10
Mitigation only
No fix yet — a mitigation exists. There is no fixed release. A documented workaround reduces exposure in the meantime.
See remediation →
84/100
Remediation priority · High
Remotely reachable No privileges Zero-click 6 weeks old

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
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.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · high confidence

A stack exhaustion vulnerability in Apache IoTDB's AirGap receiver allows an unauthenticated attacker to trigger unbounded recursion in the readLength method by sending repeated E-language prefixes in socket data, causing StackOverflowError and DoS.

MitigationUpgrade Apache IoTDB to version 2.0.10 or later which implements a recursion depth limit in the AirGap receiver; alternatively, disable pipe_air_gap_receiver_enabled if upgrade is not immediately feasible.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Identify Apache IoTDB version
    Run 'SELECT VERSION FROM information_schema.database;' or check the iotdb installation directory for a version file. Compare the installed version against the affected range (versions prior to 2.0.10).
    Affected if Installed version is lower than 2.0.10 and the AirGap receiver is enabled
  2. Locate IoTDB configuration file
    Find the iotdb-common.properties or iotdb-config.properties file in the IoTDB configuration directory (commonly in {IoTDB_home}/conf/).
    Affected if Configuration file exists and contains AirGap-related settings
  3. Verify AirGap receiver is enabled
    Search for the property 'pipe_air_gap_receiver_enabled' in the configuration file. If absent, check default behavior. The feature may be enabled by default in vulnerable versions.
    Affected if pipe_air_gap_receiver_enabled is set to true or is not explicitly set to false (default enabled)
  4. Confirm network exposure of AirGap receiver
    Check if the AirGap receiver port (typically port 6667 or as configured via pipe_air_gap_receiver_port) is exposed to untrusted networks. Review firewall rules and IoTDB bind addresses.
    Affected if AirGap receiver port is accessible from untrusted network segments

A user is affected if their Apache IoTDB version is prior to 2.0.10 AND the AirGap receiver feature (pipe_air_gap_receiver_enabled) is enabled and accessible over the network.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

dbcve · scoped
Mitigation available No clean upgrade yet — mitigate in the meantime
Mitigation

Upgrade Apache IoTDB to version 2.0.10 or later which implements a recursion depth limit in the AirGap receiver; alternatively, disable pipe_air_gap_receiver_enabled if upgrade is not immediately feasible.

Recommended fix High confidence

2.0.10

  1. 1. Identify the current Apache IoTDB version by checking the installation directory or running: get version command or checking pom.xml
  2. 2. Create a complete backup of the IoTDB data directory, configuration files (iotdb-common.properties, iotdb-env.sh), and any custom scripts
  3. 3. Stop the IoTDB service gracefully to ensure all data is flushed: ./sbin/stop-iotdb.sh or equivalent for your deployment
  4. 4. Download Apache IoTDB version 2.0.10 from the official Apache IoTDB releases page (https://iotdb.apache.org/Download/)
  5. 5. Extract the new version to the target installation directory
  6. 6. Copy backed-up configuration files to the new installation, reviewing any new configuration options that may have been added
  7. 7. Start the IoTDB service: ./sbin/start-iotdb.sh
  8. 8. Verify the upgrade by checking: a) Service is running without errors, b) Data is accessible, c) Version shows 2.0.10
Caveat Minor version upgrades within IoTDB 2.x typically maintain backward compatibility, but review release notes for any breaking changes or deprecated features before upgrading

Generated from the published advisory — verify against the referenced sources before acting.

Have this fixed Scoped from the published advisory
  • Consultation3.0 h
  • Implementation6.0 h
  • Testing3.0 h
  • Review / QA2.0 h
14.0 hours of engineering $2,490
Get help mitigating

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $3,984.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2026-40007 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2026-40007 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data