PatchSiren cyber security CVE debrief
CVE-2026-65896 getgrav CVE debrief
The Grav API Plugin (Composer package getgrav/grav-plugin-api) before 1.0.10 is vulnerable to path traversal attacks due to improper validation of the slug field in the POST /pages/{route}/move endpoint. An authenticated API caller with the api.pages.write permission can supply path traversal sequences to move an entire page directory to an arbitrary writable location outside user/pages/, including outside the Grav installation. This can lead to unauthorized data access and modification. Users should verify if their installations are affected and take necessary actions to mitigate the risk. The CVE record was published on 2026-07-23T12:18:48.050Z and has not been modified since then. To verify, defenders should review API call logs for suspicious move requests and check for unexpected page directory movements.
- Vendor
- getgrav
- Product
- grav
- CVSS
- HIGH 7.1
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-07-23
- Original CVE updated
- 2026-08-28
- Advisory published
- 2026-07-23
- Advisory updated
- 2026-08-28
Who should care
Users of Grav API Plugin, administrators of Grav installations, and security teams monitoring API vulnerabilities should be aware of this vulnerability. They should verify if their installations are affected and take necessary actions to mitigate the risk. Security teams should also monitor API logs for suspicious activity and implement compensating controls such as WAF rules to detect and prevent exploitation attempts.
Technical summary
The Grav API Plugin (Composer package getgrav/grav-plugin-api) before 1.0.10 is vulnerable to path traversal attacks. An authenticated API caller with the api.pages.write permission can supply path traversal sequences to move an entire page directory to an arbitrary writable location outside user/pages/, including outside the Grav installation. This can lead to unauthorized data access and modification.
Defensive priority
Authenticated API callers with the api.pages.write permission can exploit this vulnerability to move page directories to arbitrary writable locations.
Recommended defensive actions
- Inventory and verify installed version of Grav API Plugin
- Restrict api.pages.write permission to necessary users
- Monitor API logs for suspicious move requests
- Apply vendor remediation when available
- Implement compensating controls such as WAF rules
Evidence notes
The Grav API Plugin (Composer package getgrav/grav-plugin-api) before 1.0.10 fails to properly validate the slug field in the POST /pages/{route}/move endpoint. PagesController::move() sanitizes the slug only with ltrim($body['slug'], '.'), which strips leading periods but does not neutralize '/' or '..' segments. To verify, defenders should review API call logs for suspicious move requests and check for unexpected page directory movements.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-65896 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-65896
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-65896 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-65896
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/getgrav/grav-plugin-api/commit/f9438d4e71389b1041ac60b69b0b5714ecfa3bdd
-
Source reference
Unverified legacy reference
URL: https://github.com/getgrav/grav/security/advisories/GHSA-qjq4-jp55-4mx2
-
Source reference
Unverified legacy reference
URL: https://www.vulncheck.com/advisories/grav-api-plugin-before-path-traversal-via-move
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.