Thumbor has HMAC validation bypass via multiple .replace() calls when removing URL signature
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · High · Low
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-347.
Summary
Thumbor is an open-source photo thumbnail service by globo.com. Prior to 7.8.0, Thumbor’s HMAC validation can be bypassed due to the use of Python’s .replace() when removing the signature from the URL before validation. Since .replace() removes all occurrences of the substring, an attacker can insert the same signature multiple times in the URL and manipulate the final URL used for validation. This allows crafting URLs where the validated string differs from the actual requested resource, enabling loading images from unintended domains or paths. This issue is fixed in 7.8.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| thumbor | thumbor | before 7.8.0 | 7.8.0 | Patch available | CNA |
| — | thumbor (PyPI) | before 7.8.0 | 7.8.0 | Patch available | GHSA-mw3h-qjxj-6xg9 |
- thumbor Vendorthumbor Affected before 7.8.0 Fixed in 7.8.0 Patch available CNA
- thumbor (PyPI) Vendor— Affected before 7.8.0 Fixed in 7.8.0 Patch available GHSA-mw3h-qjxj-6xg9
Remediation
- Fix · CNA thumbor (thumbor) Fixed in 7.8.0
- Fix · GHSA-mw3h-qjxj-6xg9 thumbor (PyPI) Fixed in 7.8.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-53501
- 2026-10-03 Alias added: GHSA-mw3h-qjxj-6xg9
References
More thumbor vulnerabilities
- TI-2026-38577 Thumbor has path traversal via post-validation URL decoding bypass in file_loader CVSS 4.0HIGH 8.7
- TI-2026-38575 Thumbor treats ALLOWED_SOURCES string patterns as unescaped regex, allowing hostname bypass via wildcard dot CVSS 3.1HIGH 8.2
- TI-2026-38580 Thumbor proportion filter allows unbounded post-transform resize leading to remote DoS CVSS 3.1HIGH 7.5
- TI-2026-38579 Thumbor has Regex Denial of Service (ReDoS) in `convolution` filter CVSS 3.1HIGH 7.5
- TI-2026-38578 Thumbor convolution filter allows divide-by-zero in C extension leading to remote DoS CVSS 3.1HIGH 7.5
Sources
- CVE-2026-53501 · CVE Program
- CVE-2026-53501 · NVD
- FIRST EPSS
- GHSA-mw3h-qjxj-6xg9 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences