Description
Grav 2.0.1 contains a decompression-bomb size-cap bypass in ZipArchiver and GPM\Installer. The size bound introduced in 2.0.1 sums the uncompressed size declared in each entry's ZIP central-directory header (ZipArchive::statIndex()['size']) and rejects archives exceeding system.gpm.archive.max_uncompressed_size before extraction. Because this declared size is attacker-forgeable and is not cross-checked against the actual inflated stream, a crafted archive declaring tiny per-entry sizes passes the cap while extractTo() writes the real, much larger content, filling disk or exhausting inodes. The archive must be supplied by a package source or admin upload (admin/operator trust). Fixed in 2.0.2. This is an incomplete fix for GHSA-928x-9mpw-8h56.
Published: 2026-07-15
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Grav CMS 2.0.1 decompression‑bomb size‑cap bypass in its ZipArchiver and GPM Installer components. The implementation checks the uncompressed size recorded in each entry’s ZIP central‑directory header, but trusts that value rather than the actual inflated stream, allowing a crafted archive to pass the system.gpm.archive.max_uncompressed_size limit while extractTo() writes the real, much larger content, filling the filesystem or exhausting inodes. This produces a denial of service that hampers server availability but does not give the attacker code execution or direct privilege escalation.

Affected Systems

All installations of Grav CMS version 2.0.1 from the getgrav:grav vendor are affected. The vulnerability is fixed in version 2.0.2 and later, so any deployment running 2.0.1 before the upgrade is vulnerable.

Risk and Exploitability

With a CVSS score of 7.1, the vulnerability is considered high‑severity, but its EPSS score of less than 1 % indicates exploitation is currently rare. The flaw requires an attacker to supply a crafted archive through an administrator upload or a package source, so it is limited to trusted or compromised users, not the general public. It is not listed in CISA’s KEV catalog. An attacker who can control the upload path could trigger disk exhaustion, temporarily disrupting services, but exploitation would be constrained to the internal system or package supply chain.

Generated by OpenCVE AI on July 31, 2026 at 03:55 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Grav CMS to version 2.0.2 or newer to apply the official fix.
  • Restrict upload and package installation functionalities to trusted administrators only; disable these operations for users that do not need them.
  • Audit existing packages and re‑install any from trusted sources, verifying that the archive contents are legitimate and not artificially inflated.

Generated by OpenCVE AI on July 31, 2026 at 03:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 15 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 15 Jul 2026 12:00:00 +0000

Type Values Removed Values Added
Description Grav 2.0.1 contains a decompression-bomb size-cap bypass in ZipArchiver and GPM\Installer. The size bound introduced in 2.0.1 sums the uncompressed size declared in each entry's ZIP central-directory header (ZipArchive::statIndex()['size']) and rejects archives exceeding system.gpm.archive.max_uncompressed_size before extraction. Because this declared size is attacker-forgeable and is not cross-checked against the actual inflated stream, a crafted archive declaring tiny per-entry sizes passes the cap while extractTo() writes the real, much larger content, filling disk or exhausting inodes. The archive must be supplied by a package source or admin upload (admin/operator trust). Fixed in 2.0.2. This is an incomplete fix for GHSA-928x-9mpw-8h56.
Title Grav before 2.0.2 Decompression Bomb via Forged ZIP Size
First Time appeared Getgrav
Getgrav grav
Weaknesses CWE-409
CPEs cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav
References
Metrics cvssV3_1

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

cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-15T17:52:57.760Z

Reserved: 2026-07-09T14:06:14.016Z

Link: CVE-2026-61449

cve-icon Vulnrichment

Updated: 2026-07-15T17:48:59.388Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T04:00:15Z

Weaknesses
  • CWE-409

    Improper Handling of Highly Compressed Data (Data Amplification)