CVE-2026-94654 Apache Thrift: Python `TNonblockingServer` busy-loops and stops selecting all fds after an 8192-byte-boundary frame

High 8.2 Published Updated

An attacker can cause a denial of service in Apache Thrift Python servers by triggering an infinite loop when processing frames at specific byte boundaries.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-94654?

CVE-2026-94654 is a high-severity denial of service vulnerability in Apache Thrift, published on 2 Oct 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Loop with unreachable exit condition ('infinite loop') vulnerability in Apache Thrift python bindings.

This issue affects Apache Thrift: before 0.25.0.

Users are recommended to upgrade to version 0.25.0, which fixes the issue.

Weakness: CWE-835

Which versions are affected by CVE-2026-94654?

1 open source package ship an affected version, including thrift.

PackageAffectedFixed in
thrift BitnamiAll versions0.25.0

How do I fix CVE-2026-94654?

Upgrade thrift to 0.25.0 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2026-94654 being exploited?

There is no known exploitation of CVE-2026-94654 in the wild and no public exploit code.

Sources

Also known as AZL-105941, BIT-thrift-2026-94654, DEBIAN-CVE-2026-94654, ECHO-5526-4fca-655e, GHSA-cf8m-xjj3-cc82, MINI-rjg7-8499-7w6f and 1 more.

Is CVE-2026-94654 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free