<?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://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-04T21:19:10.626094+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" 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://vulnerability.circl.lu/vuln/fkie_cve-2026-61690</id>
    <title>fkie_cve-2026-61690</title>
    <updated>2026-10-04T21:19:10.628404+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Grav is a file-based Web platform. Prior to 2.0.1, Grav ZipArchiver::extract() in system/src/Grav/Common/Filesystem/ZipArchiver.php passes archives to ZipArchive::extractTo() without enforcing the system.gpm.archive uncompressed-size, file-count, or nesting-depth limits. Code using Archiver::create('zip') to extract an attacker-controlled archive can exhaust disk space or inodes and make the site unavailable. This issue is fixed in version 2.0.1.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-61690"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-928x-9mpw-8h56</id>
    <title>GHSA-928x-9mpw-8h56 — Grav: Decompression Bomb via ZipArchiver - Missing Extraction Limits</title>
    <updated>2026-10-04T21:19:10.628500+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Packagist: getgrav/grav</p>
<p>## Summary
`ZipArchiver::extract()` lacks limits on uncompressed size, file count, and nesting depth, creating a distinct, unpatched variant of the GHSA-2vcx-h8p2-9pg9 zip bomb vulnerability. While the parallel method Installer::unZip() received comprehensive limits, ZipArchiver::extract() remains unprotected, leaving a separate code path vulnerable to the same attack vector. The vulnerability is a distinct, unpatched variant of the bug described in GHSA-2vcx-h8p2-9pg9, as it affects a separate code path in the same codebase, implementing the same abstract class.</p>
<p>---</p>
<p>## Details</p>
<p>**Vulnerable code** - `system/src/Grav/Common/Filesystem/ZipArchiver.php:29-58`:</p>
<p>```php
public function extract($destination, ?callable $status = null)
{
    $zip = new ZipArchive();
    $archive = $zip-&gt;open($this-&gt;archive_file);</p>
<p>if ($archive === true) {
        Folder::create($destination);</p>
<p>// Only guards against Zip Slip (path traversal)
        for ($i = 0, $count = $zip-&gt;count(); $i &lt; $count; $i++) {
            $name = $zip-&gt;getNameIndex($i);
            if ($name !== false &amp;&amp; !$this-&gt;isSafeEntryPath($name)) {
                $zip-&gt;close();
                throw new RuntimeException(...);
            }
        }</p>
<p>// Extracts EVERYTHING — no size, count, or depth limit
        if (!$zip-&gt;extractTo($destination)) { ... }</p>
<p>$zip-&gt;close();
        return $this;
    }
}
```</p>
<p>**What's missing vs `Installer::unZip()`**:</p>
<p>| Protection | `Installer::unZip()` | `ZipArchive…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-928x-9mpw-8h56"/>
  </entry>
</feed>
