CVE-2026-53501
HighCVSS 8.2Exploitation Probability (EPSS)
Low risk11th percentile - higher than 11% of all known CVEs
Summary
Thumbor before 7.8.0 in HMAC validation uses Python's .replace() to remove 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, enabling loading images from unintended domains or paths.
Risk Assessment
An attacker can bypass HMAC validation and load images from unauthorized sources, potentially leading to data leakage or injection of malicious content.
Recommendation
Upgrade Thumbor to version 7.8.0 or later.
Other vulnerabilities in Thumbor
See all- CVE-2026-53505High
Thumbor before 7.8.0 in the filters:proportion(<value>) filter does not enforce an upper bound on <value> and runs in the post-transform phase. An attacker can trigger extremely large resizes (CPU/memory exhaustion) and cause denial of service.
- CVE-2026-53504High
Thumbor before 7.8.0 in the convolution filter uses a regular expression that performs exponential backtracking on crafted repeated numeric input, allowing a URL request to exhaust processing time.
- CVE-2026-53503High
Thumbor before 7.8.0 in the filters:convolution(<matrix>, <columns>, <should_normalize>) filter passes the user-controlled <columns> value to a C extension where it is used as a divisor 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.
- CVE-2026-53502High
Thumbor before 7.8.0 in file_loader decodes percent-encoded path segments after its root-boundary validation, allowing traversal outside FILE_LOADER_ROOT_PATH through watermark or frame filter input.
- CVE-2026-53500High
Thumbor before 7.8.0 in the ALLOWED_SOURCES configuration passes plain strings to re.match() without escaping dots, so a hostname differing at dot positions can match the allowlist.
Original NVD description (English source)
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.

