{"uuid": "0c881641-cc5a-4ab2-9b0a-8f725410ce69", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2026-74907", "type": "seen", "source": "https://gist.github.com/alon710/c2299acc28e550e2d0a5db2c44f59d94", "content": "# CVE-2026-74907: CVE-2026-74907: Directory Traversal in Grav CMS Pre-Boot Static Asset Server\n\n&gt; **CVSS Score:** 5.9\n&gt; **Published:** 2026-09-17\n&gt; **Full Report:** https://cvereports.com/reports/CVE-2026-74907\n\n## Summary\nAn unauthenticated directory traversal vulnerability exists in Grav CMS prior to version 2.0.15. Due to an insecure string-based containment check (str_starts_with) in the pre-boot static asset server, attackers can read files in sibling directories sharing a prefix with the configured asset path when plugin-asset-map.php is enabled.\n\n## TL;DR\nAn insecure string containment check in Grav's pre-boot asset server allows unauthenticated remote attackers to read files in sibling directories via path traversal.\n\n## Exploit Status: POC\n\n## Technical Details\n\n- **CWE ID**: CWE-22\n- **Attack Vector**: Network (AV:N)\n- **CVSS v3.1 Score**: 5.9 (Medium)\n- **EPSS Score**: 0.00333 (Percentile: 26.56%)\n- **Impact**: Confidentiality (High)\n- **Exploit Status**: Proof of Concept / Conceptual\n- **CISA KEV Status**: Not Listed\n\n## Affected Systems\n\n- Grav CMS\n- **Grav**: &lt; 2.0.15 (Fixed in: `2.0.15`)\n\n## Mitigation\n\n- Upgrade the Grav core installation to version 2.0.15 or newer.\n- Manually apply the directory boundary enforcement patch to index.php.\n- Disable the static asset mapping feature by removing the plugin-asset-map.php configuration file.\n\n**Remediation Steps:**\n1. Download Grav version 2.0.15 or verify updates via the Grav administration panel.\n2. If manual patching is chosen, open index.php and update the str_starts_with statement to append a directory separator.\n3. Navigate to the user/config/ directory and verify if plugin-asset-map.php is present; delete it if asset mapping is unused.\n\n## References\n\n- [GitHub Security Advisory GHSA-4v9q-p283-qc2m](https://github.com/getgrav/grav/security/advisories/GHSA-4v9q-p283-qc2m)\n- [NVD Vulnerability Details for CVE-2026-74907](https://nvd.nist.gov/vuln/detail/CVE-2026-74907)\n- [VulnCheck Security Advisory](https://www.vulncheck.com/advisories/grav-before-path-traversal-via-plugin-asset-map-php)\n- [Official Commit Patch](https://github.com/getgrav/grav/commit/d5f89d95d94cc155bc3be998ee85527a7be073dd.patch)\n\n\n---\n*Generated by [CVEReports](https://cvereports.com/reports/CVE-2026-74907) - Automated Vulnerability Intelligence*", "creation_timestamp": "2026-09-18T02:31:49.781142Z"}