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.
Published: 2026-07-31
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Thumbor convolution filter accepts a user-specified "columns" parameter and passes it directly to a C extension. If an attacker supplies a value of zero, the C code performs a divide‑by‑zero operation, triggering a fatal SIGFPE trap on x86_64 architectures. This causes the Thumbor process to crash, preventing it from handling further requests and creating a remote denial of service. The weakness is a failure to validate input (CWE‑20) and a divide‑by‑zero condition (CWE‑369).

Affected Systems

All documented releases of thumbor before version 7.8.0 are impacted. The vulnerability exists in the filters:convolution filter implemented in thumbor/ext/filters/_convolution.c, and it is fixed in the 7.8.0 tag.

Risk and Exploitability

The fingerprint assigns a CVSS base score of 7.5, indicating a high severity remote vulnerability. The EPSS score is below the 1% threshold, suggesting a very low likelihood of exploitation at the time of analysis. The vulnerability is not listed in the CISA KEV catalog. Attackers could trigger the flaw by sending an HTTP request to the convolution endpoint with the columns parameter set to zero. Because the code executes without authentication checks, the attack vector is remote and requires only network access to the Thumbor service. Once triggered, the process will terminate, exposing a temporary DoS condition until the service is restarted.

Generated by OpenCVE AI on August 2, 2026 at 03:59 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Thumbor to version 7.8.0 or later where the convolution filter bug is fixed.
  • Restart the Thumbor service to load the patched code.
  • If an upgrade is not immediately possible, configure request validation (at a reverse proxy or application layer) to reject values where columns ≤ 0, effectively blocking the divide‑by‑zero path.
  • Monitor Thumbor logs for SIGFPE or crashes and ensure automatic restarts via systemd or similar tools so that downtime is minimized.

Generated by OpenCVE AI on August 2, 2026 at 03:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-cqjp-jf4r-h5q9 Thumbor convolution filter allows divide-by-zero in C extension leading to remote DoS
History

Sun, 02 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Thumbor
Thumbor thumbor
Vendors & Products Thumbor
Thumbor thumbor

Fri, 31 Jul 2026 22:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 31 Jul 2026 19:15:00 +0000

Type Values Removed Values Added
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.
Title Thumbor convolution filter allows divide-by-zero in C extension leading to remote DoS
Weaknesses CWE-20
CWE-369
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-31T21:39:35.108Z

Reserved: 2026-06-09T17:05:25.059Z

Link: CVE-2026-53503

cve-icon Vulnrichment

Updated: 2026-07-31T20:14:20.848Z

cve-icon NVD

Status : Received

Published: 2026-07-31T19:17:09.737

Modified: 2026-07-31T22:17:02.790

Link: CVE-2026-53503

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-02T20:32:18Z

Weaknesses