GitHub Advisoryadvisory · PyPI

GHSA-5vjc-7cxw-4w6j Thumbor has Regex Denial of Service (ReDoS) in `convolution` filter

HIGH Published 2026-07-31 Modified 2026-07-31 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

References