PatchSiren

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

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.