IT SBIT Services
Schneeberger
DEEN
CVE tracker

Apache Thrift: Memory exhaustion via WebSocket frame length in Node.js and D bindings

CVE-2026-83745High 8.7

← All vulnerabilities

Summary

The WebSocket server transports of the Apache Thrift Node.js and D language bindings allocate the payload buffer from the length declared in the frame header, before the data has arrived. A single small frame of about 14 bytes can therefore make the process allocate hundreds of MiB to 2 GiB, which leads to denial of service. In the Node.js case the connection stays open, so the attack can be repeated. The issue is reachable over the network without authentication if the WebSocket server endpoint is exposed.

Affected

  • Apache Thrift before 0.25.0
  • Only the WebSocket server transports of the Node.js and D language bindings are affected.
  • Distribution packages may differ; check the vendor advisory for your package version.

Fixed in

  • Upgrade Apache Thrift to version 0.25.0 or later.
  • Distribution-specific fixed versions: Unknown.

Workaround

  • No workaround documented in the sources.
  • Check whether any application uses the Thrift WebSocket server transport in Node.js or D.
  • If it is used, do not expose the endpoint to the public internet, or restrict it with a reverse proxy or firewall allowlist.
  • Set memory limits and restart policies on the service.

Exploitation

  • CISA SSVC: exploitation none, automatable yes, technical impact partial.
  • Exploited in the wild: no evidence found.
  • Public proof of concept: none found.
  • Status to be rechecked before relying on it.

Our recommendation

  • Identify systems and applications that use Apache Thrift with the Node.js or D WebSocket server.
  • Upgrade to Apache Thrift 0.25.0 or later, which also fixes CVE-2026-85494.
  • Until patched, restrict network access to the WebSocket endpoint and set memory limits on the service.
  • Monitor memory usage and restarts of affected services.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 05:50.

Original description (NVD)

Memory allocation with excessive size value, Improper handling of length parameter inconsistency vulnerability in Apache Thrift  nodejs and D lang bindings. Both bindings' WebSocket server transports read the payload length out of the frame header and allocate that many bytes immediately, without checking that the bytes have arrived. A single ~14-byte frame therefore commits as much memory as it cares to declare -- measured at 513 MiB against the Node.js server and 2 GiB against the D transport -- and in the Node.js case the connection is left open afterwards, so the frame can simply be sent again. This issue affects Apache Thrift before 0.25.0. Users are recommended to upgrade to version 0.25.0, which fixes the issue.

NVD references (2)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.