CVE-2026-53503 Thumbor convolution filter allows divide-by-zero in C extension leading to remote DoS
Remote attackers can crash the Thumbor service by sending a convolution filter request with zero columns, causing a divide-by-zero error.
- 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-53503?
CVE-2026-53503 is a high-severity denial of service vulnerability in thumbor, published on 31 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Thumbor is an open-source photo thumbnail service by globo.com. Prior to 7.8.0, Thumbor's filters:convolution(<matrix>, <columns>, <should_normalize>) filter passes the user-controlled <columns> value to a C extension (thumbor/ext/filters/_convolution.c) where it is used as a divisor (for % and /) without validating columns > 0. When columns=0, the C code triggers undefined behavior; on x86_64 this reliably results in a fatal divide-by-zero trap (SIGFPE) and crashes the Thumbor process, causing a remote denial of service. This issue is fixed in 7.8.0.
Which versions are affected by CVE-2026-53503?
3 open source packages ship an affected version, including thumbor.
| Package | Affected | Fixed in |
|---|---|---|
thumbor PyPI | All versions | 7.8.0 |
thumbor PyPI | All versions | 7.8.0 |
thumbor PyPI | All versions | 7.8.0 |
How do I fix CVE-2026-53503?
Upgrade thumbor to 7.8.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-53503 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-53503 exists.
Sources
Also known as DEBIAN-CVE-2026-53503, GHSA-cqjp-jf4r-h5q9, PYSEC-2026-3619, UBUNTU-CVE-2026-53503.