Skip to content
OpenAdvisories
High · 8.7 CVE-2026-83745 EUVD-2026-91580GHSA-5jgj-9r28-q5fp

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

Published Oct 2, 2026 · Updated Oct 2, 2026 · Assigned by apache

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.

Affected products

VendorProductAffectedFixed
Apache Software Foundation Apache Thrift < 0.25.0 0.25.0

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 thrift No fix yet —
Debian 13 thrift No fix yet —
Debian 12 thrift No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 thrift No fix yet —
Ubuntu 26.04 LTS thrift No fix yet —
Ubuntu 24.04 LTS thrift No fix yet —
Ubuntu 22.04 LTS thrift No fix yet —
Ubuntu 20.04 LTS thrift No fix yet —
ReleasePackageFixed inAdvisory
Red Hat Hardened Images 1 thrift +5 0.25.0-0.1.hum1 RHSA-2026:74369

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 thrift 0.25.0-1 —

Advisories 2

References