Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-83745— Apache Thrift, Apache Thrift: WebSocket frame decoders allocate the payload buffer from the declared length, not the bytes received (Node.js, D)

Quick assessment

Affected
Apache Software Foundation Apache Thrift
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Apache Thrift 的 Node.js 和 D 语言绑定中存在因长度参数处理不当导致的漏洞,具体表现为内存分配时使用了过大的尺寸值。 在这两个绑定实现的 WebSocket 服务器传输模块中,系统会直接从帧头中读取负载长度,并立即分配相应数量的字节,而未检查数据是否实际到达。因此,一个仅需约 14 字节的帧即可根据帧头中声明的大小分配任意量的内存。经测试,Node.js 服务器会分配高达 513 MiB 的内存,而 D 语言绑定则会分配高达 2 GiB 的内存。在 Node.js 的情况下,连接在内存分配后

CVSS 8.7 · High EPSS 0.43% · P35

Possible ATT&CK Techniques 1 AI

T1496 · Resource Hijacking

Affected Version Matrix 2

VendorProduct Version RangeStatus
Apache Software Foundation Apache Thrift < 0.25.0 affected
< 0.25.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-83745

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Apache Thrift, Apache Thrift: WebSocket frame decoders allocate the payload buffer from the declared length, not the bytes received (Node.js, D)
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
未经控制的内存分配
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
Apache Software Foundation Apache Thrift 0 ~ 0.25.0 -
Apache Software Foundation Apache Thrift 0 ~ 0.25.0 -

II. Public POCs for CVE-2026-83745

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-83745

请登录查看更多情报信息。

Mailing List Discussions for CVE-2026-83745 (2)

Same Patch Batch · Apache Software Foundation · 2026-10-02 · 69 CVEs total

CVE-2026-102795 9.3 CRITICAL Apache Traffic Server: SNI to Host header matching policy is not properly enforced
CVE-2026-91135 9.2 CRITICAL Apache Thrift: C++ `THeaderTransport::transform()` heap buffer overflow (write direction)
CVE-2026-83632 9.2 CRITICAL Apache Thrift: C++ THttpTransport grows its line buffer without bound
CVE-2026-82458 8.7 HIGH Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift,
CVE-2026-66837 8.7 HIGH Apache Thrift: PHP accelerator sizes a stack buffer from a wire-controlled string length
CVE-2026-66859 8.7 HIGH Apache Thrift: c_glib multiplexed processor crashes on a message it cannot route
CVE-2026-94646 8.7 HIGH Apache Thrift: Node.js `server.js` ends the process on any per-connection error (+ two tri
CVE-2026-94633 8.7 HIGH Apache Thrift: Dart `TBinaryProtocol.readMessageBegin` allocates from the pre-versioned na
CVE-2026-87117 8.7 HIGH Apache Thrift: PHP `thrift_protocol` accelerator dereferences a missing container-element
CVE-2026-86537 8.7 HIGH Apache Thrift: A truncated HTTP request stops the D library's server, allowing an unauthen
CVE-2026-86535 8.7 HIGH Apache Thrift: A JSON member name can stall the Node server's event loop indefinitely
CVE-2026-94635 8.7 HIGH Apache Thrift: Lua `TBinaryProtocol:readMessageBegin` bypasses `checkStringSize` on the pr
CVE-2026-96294 8.7 HIGH Apache Thrift: nodejs web server: no `error` listener on an upgraded WebSocket connection
CVE-2026-61373 8.7 HIGH Apache Thrift: Java TSaslNonblockingServer pre-auth unbounded SASL frame allocation
CVE-2026-94642 8.7 HIGH Apache Thrift: PHP `TSimpleServer` exits the whole process on any non-transport exception
CVE-2026-93926 8.7 HIGH Apache Thrift: C++ `THeaderTransport::untransform()` leaks the zlib stream on the error pa
CVE-2026-85493 8.7 HIGH Apache Thrift, Apache Thrift: TProtocolUtil.skip follows peer-chosen nesting to any depth
CVE-2026-85494 8.7 HIGH Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift,
CVE-2026-91137 8.7 HIGH Apache Thrift: PHP `thrift_protocol` accelerator: zero-byte container elements
CVE-2026-93925 8.7 HIGH Apache Thrift: C++ `THeaderTransport::writeVarint32()` stack buffer overflow on a negative

Showing top 20 of 69 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-83745

No comments yet


Leave a comment