GitHub Advisoryadvisory · PyPI
GHSA-5vjc-7cxw-4w6j Thumbor has Regex Denial of Service (ReDoS) in `convolution` filter
HIGH
Official page ↗
- Aliases
- CVE-2026-53504
- Ecosystem
- PyPI
- Packages
- thumbor
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-400
- Reviewed
- 2026-07-31
Affected packages
• PyPI thumbor: < 7.8.0 → fixed in 7.8.0
Description
Summary
The regular expression used to parse the `convolution` filter exhibits exponential-time backtracking for certain inputs, enabling a Regular Expression Denial of Service (ReDoS).
Details
The RegExp for `convolution` is defined as `convolution\((?:\s*((?:[-]?[\d]+\.?[\d]*[;])*(?:[-]?[\d]+\.?[\d]*))\s*)(?:,\s*([\d]+)\s*)(?:,\s*([Tt]rue|[Ff]alse|1|0)\s*)?\)`. Within this expression a dangerous subpattern effectively behaves like `(\d+)*,\d+`.
PoC
A filter string containing many repeated values will exhaust `re.match`:
• `convolution(-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11)`
• http://localhost:8888/unsafe/0x0/smart/filters:convolution(-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11;-11)/x.png
The evaluation occurs on https://github.com/thumbor/thumbor/blob/master/thumbor/filters/__init__.py#L189.
Impact
A specially crafted URL will lead to denial of service, as new images won't be processed until `re.match` returns.
Related
Alias · CVE (1)
- CVE-2026-53504 Thumbor is an open-source photo thumbnail service by globo.com. vulnerability
Weakness · CWE (1)
- CWE-400 Uncontrolled Resource Consumption weakness