{"schema_version": "1.6.1", "id": "CVE-2026-83663", "summary": "TFramedTransport and THeaderTransport re-enter Read once per frame that carries no payload (Go)", "details": "Uncontrolled Recursion vulnerability in Apache Thrift go bindings.\n\n\n\nBoth 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.\n\n\n\nThis issue affects Apache Thrift: before 0.25.0.\n\n\n\nUsers are recommended to upgrade to version 0.25.0, which fixes the issue.", "affected": [{"ranges": [{"type": "SEMVER", "events": [{"introduced": "0"}, {"fixed": "0.25.0"}]}]}], "references": [{"type": "WEB", "url": "https://lists.apache.org/thread/33otcgbqd27wf6qq810q56znzbomnhg1"}, {"type": "WEB", "url": "https://lists.apache.org/thread/yjz317wq7h86q9k8ws6ton0ojgl8hjct"}]}