7.1

CVE-2026-65896: getgrav grav External Control of File Name or Path

CVSS: 7.1v4.0HighDeferred
Published 23-07-2026Last modified 28-08-2026

Vulnerability summary

CVE-2026-65896 is a high (CVSS 7.1) External Control of File Name or Path vulnerability in getgrav grav. EPSS estimates a 0.48% chance of exploitation in the next 30 days, higher than 40% of scored vulnerabilities.

Overall risk
28/100
0100
Medium · default modelHow is this calculated?
CVSS score
7.1/10
010
High · v4.0 (CVE.org)
EPSS score
0.48%
0%100%
Low · 0.00 pp in 30 days
KEVNot listedIn no KEV catalog
RansomwareNone recordedNo known use recorded
Public exploits0No public exploits recorded

Timeline

  1. 23-07-2026
    PublishedVulnerability first disclosed.
  2. 28-08-2026
    Last modifiedVulnerability information updated.

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.

CVSS metrics

4 scores · 2 sources · 2 versions

EPSS trend

Probability

0.48%

Chance of exploitation in the next 30 days

Percentile

40%

Versus all other CVEs

30-day change

0.00 pp

From 0.48% on 21-09-2026

21-09-202621-10-2026
EPSS score
0.48%

Known exploited

Compare KEV catalogs

Not in any of the 3 tracked catalogs.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Getgrav1 product

1 vendor · 1 product

References

3 links