Advisory record · GHSA-4v9q-p283-qc2m

Grav: Unauthenticated Path Traversal via Missing Directory-Boundary Check in `plugin-asset-map.php` Static Asset Server (`index.php`)

CVSS 8.2 HighEPSS 0.0043 · 37th percentile

Published by the GitHub Advisory Database at 17 Sept 2026, 20:43 UTC. agentprime has not analysed this yet, so whether it affects any app is not known.

PackageEcosystemAffectedFixed in
getgrav/gravPackagist<2.0.152.0.15
Identifiers
GHSA-4v9q-p283-qc2m · CVE-2026-74907 · PKSA-t3gq-ss3y-p7b7
Weakness (CWE)
CWE-22
Published
17 Sept 2026
Updated
17 Sept 2026

Machine-written summary

Summary written by Claude Haiku from the source advisory. Not reviewed by a person.

GHSA-4v9q-p283-qc2m affects Grav (getgrav/grav) versions before 2.0.15, and the fix is in 2.0.15. The static asset fast-path in index.php checks path containment with a plain string-prefix test, so a request can reach sibling directories whose names begin with the same characters as the allowed asset directory. Per the source, this is only reachable when a plugin has created the plan-asset-map configuration file, and it requires no authentication. Upgrade to Grav 2.0.15 or later.

Written 31 Oct 2026.

Not analysed yet

We haven’t published our analysis of this Advisory yet. Once a person has reviewed it, this page will say what’s vulnerable, what has to be true for your app to be affected, and how to check.

Severity and exploitation

ScoreRatingCVSSVectorSource
8.2 High 4.0 CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N CNA (VulnCheck)
  • CISA KEV Not listed.
  • EPSS 0.0043, the 37th percentile, on 11 Nov 2026: FIRST’s estimate of the chance of exploitation in the next 30 days.

Timeline

  1. 31 Oct 2026, 13:55 UTC First seen by agentprime
  2. 31 Oct 2026, 13:55 UTC Confirmed by OSV

Sources

Facts on this page come from the GitHub Advisory Database (CC-BY 4.0), OSV and the other sources listed, as published. We don’t reproduce full advisory descriptions, which can contain exploit code.