Skip to content
OpenAdvisories
High · 8.7 CVE-2026-83663 EUVD-2026-91581GHSA-rvwr-5g7j-6pm8

Apache Thrift: TFramedTransport and THeaderTransport re-enter Read once per frame that carries no payload (Go)

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

Description

Uncontrolled Recursion vulnerability in Apache Thrift go bindings.

Both Go transports satisfy a read out of a buffered frame and, when that frame yields no payload bytes, read the next frame and call `Read` again instead of looping. A peer produces such a frame for 4 bytes in `TFramedTransport` (a declared size of zero) or 18 bytes in `THeaderTransport` (a header block that fills the frame), so nothing bounds the depth. The Go stack limit is reached as a `fatal error`, which `recover()` cannot catch, so the whole process dies.

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 —

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 telegraf 1.31.0-35 —
Azure Linux 3 thrift +4 No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling opentelemetry-collector-contrib 0.163.0-r0 —

References