๐Ÿ” CVE Alert

CVE-2026-65896

HIGH 7.1

Grav API Plugin before 1.0.10 Path Traversal via move

CVSS Score
7.1
EPSS Score
0.0%
EPSS Percentile
0th

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. An authenticated API caller with the api.pages.write permission can supply path traversal sequences (e.g., 01.home/../../../pwned) to move an entire page directory (content and media) to an arbitrary writable location outside user/pages/, including outside the Grav installation.

CWE CWE-73
Vendor getgrav
Product grav
Published Jul 23, 2026
Last Updated Jul 23, 2026
Stay Ahead of the Next One

Get instant alerts for getgrav grav

Be the first to know when new high vulnerabilities affecting getgrav grav are published โ€” delivered to Slack, Telegram or Discord.

Get Free Alerts โ†’ Free ยท No credit card ยท 60 sec setup

CVSS v3 Breakdown

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
Low

Affected Versions

getgrav / grav
0 < 1.0.10

References

NVD โ†— CVE.org โ†— EPSS Data โ†—
github.com: https://github.com/getgrav/grav/security/advisories/GHSA-qjq4-jp55-4mx2 github.com: https://github.com/getgrav/grav/commit/f9438d4e71389b1041ac60b69b0b5714ecfa3bdd vulncheck.com: https://www.vulncheck.com/advisories/grav-api-plugin-before-path-traversal-via-move

Credits

๐Ÿ” izumi-hyun