This site currently shows sample data for demonstration.

Vulnerabilities

CVE-2026-65896 | BDVDB-2026-352172 Detail

getgravgrav

Description#

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.

Impact#

Per CVSS v3.1: confidentiality impact none, integrity impact high, availability impact low. Attack vector: network.

Weaknesses#

  • CWE-73 External Control of File Name or Path

References#

Exploit#

No public exploit known

History#

  1. Version 1Record published in the CVE List.
  2. Version 2Most recent update recorded in the CVE List.