Skip to content
8.7 High

CVE-2026-83663 Uncontrolled Recursion vulnerability in Apache Thrift go bindings

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 and versions

Product Affected versions Fixed in
Apache Thrift 0.25 earliest → < 0.25.0 0.25.0

References

Timeline

  1. Published
  2. Last modified
The 91 CVEs of Apache Thrift →
Track this CVE