CVE-2026-49855 tornado AsyncHTTPClient accumulates decompressed chunks without size limit (gzip bomb)

High 7.5 Published Updated

A malicious server can cause memory exhaustion in Tornado's AsyncHTTPClient by sending a gzip bomb, leading to denial of service.

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-49855?

CVE-2026-49855 is a high-severity denial of service vulnerability in tornadoweb tornado, published on 14 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Tornado is a Python web framework and asynchronous networking library. Prior to 6.5.6, Tornado gzip decompression routines processed limited-size chunks but did not enforce an overall limit on accumulated decompressed chunks, allowing a malicious server accessed by SimpleAsyncHTTPClient or an HTTPServer configured with decompress_request=True to consume effectively unlimited memory. This issue is fixed in version 6.5.6.

Weakness: CWE-409

Which versions are affected by CVE-2026-49855?

3 open source packages ship an affected version, including tornado.

PackageAffectedFixed in
tornado PyPIAll versions6.5.6
tornado PyPIAll versions6.5.6
tornado PyPIAll versions6.5.6

How do I fix CVE-2026-49855?

Upgrade tornado to 6.5.6 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-49855 being exploited?

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

Sources

Also known as AZL-92385, BELL-CVE-2026-49855, CLEANSTART-2026-QK13571, CLSA-2026-1781744125, DEBIAN-CVE-2026-49855, ECHO-7775-eb27-2601 and 13 more.

Is CVE-2026-49855 in your software?

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

Check your SBOMs for free