<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-01T01:38:37.255528+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/cve-2026-53505</id>
    <title>CVE-2026-53505 — Thumbor proportion filter allows unbounded post-transform resize leading to remote DoS</title>
    <updated>2026-10-01T01:38:37.259965+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> thumbor</p>
<p>Thumbor is an open-source photo thumbnail service by globo.com. Prior to 7.8.0, Thumbor's filters:proportion(&lt;value&gt;) filter does not enforce an upper bound on &lt;value&gt; and runs in the post-transform phase. An attacker can trigger extremely large resizes (CPU/memory exhaustion) and cause denial of service. This issue is fixed in 7.8.0.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-53505"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/pysec-2026-3621</id>
    <title>PYSEC-2026-3621 — Thumbor proportion filter allows unbounded post-transform resize leading to remote DoS</title>
    <updated>2026-10-01T01:38:37.260147+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: thumbor</p>
<p>### Summary
Thumbor's `filters:proportion(&lt;value&gt;)` filter does not enforce an upper bound on `&lt;value&gt;` and runs in the post-transform phase. An attacker can trigger extremely large resizes (CPU/memory exhaustion) and cause denial of service.</p>
<p>### Details
- Filter implementation: `thumbor/filters/proportion.py`
  - `value` is parsed as a float (`BaseFilter.DecimalNumber`) with no maximum.
  - The filter computes `new_width = source_width * value` and `new_height = source_height * value` and then calls `engine.resize(new_width, new_height)`.
- Execution phase: `proportion` runs in the default POST_TRANSFORM phase (after the main transform pipeline). This means it can effectively bypass request-level size clamping that happens earlier in the request lifecycle (e.g., `MAX_WIDTH`/`MAX_HEIGHT` applied to `req.width/req.height`).</p>
<p>Documentation states the `percentage` argument should be `0.0 to 1.0` (`docs/proportion.rst`), but the implementation does not enforce this constraint.</p>
<p>### PoC
#### Preconditions
- The `proportion` filter is enabled (it is enabled by default via `BUILTIN_FILTERS`).
- Either:
  - `/unsafe/` URLs are allowed (`ALLOW_UNSAFE_URL=True`, common default in some deployments), OR
  - `/unsafe/` is disabled, and the attacker has a valid signed URL (i.e., the attacker is an authorized user/partner, or otherwise can obtain signed URLs issued by a trusted signing service).</p>
<p>#### Example request 1 (signed URL)
The following request was used to reproduce the issue and…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/pysec-2026-3621"/>
  </entry>
</feed>
