CVE-2025-66295 Grav vulnerable to Path traversal / arbitrary YAML write via user creation leading to Account Takeover / System Corruption

High 8.8 Published Updated

Attackers with user creation privileges can exploit path traversal to write arbitrary YAML files, leading to account takeover or system corruption.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2025-66295?

CVE-2025-66295 is a high-severity path traversal vulnerability in Getgrav Grav, published on 1 Dec 2025. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

Grav is a file-based Web platform. Prior to 1.8.0-beta.27, when a user with privilege of user creation creates a new user through the Admin UI and supplies a username containing path traversal sequences (for example ..\Nijat or ../Nijat), Grav writes the account YAML file to an unintended path outside user/accounts/. The written YAML can contain account fields such as email, fullname, twofa_secret, and hashed_password. This vulnerability is fixed in 1.8.0-beta.27.

Weakness: CWE-22

Which versions are affected by CVE-2025-66295?

2 open source packages ship an affected version, including getgrav/grav. It affects 1 product.

PackageAffectedFixed in
getgrav/grav PackagistAll versions1.8.0-beta.27
getgrav/grav PackagistAll versions1.8.0-beta.27

Products include Getgrav Grav.

How do I fix CVE-2025-66295?

Upgrade getgrav/grav to 1.8.0-beta.27 or later.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2025-66295 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-66295 exists.

All Getgrav Grav vulnerabilities

Sources

Also known as GHSA-h756-wh59-hhjv.

Is CVE-2025-66295 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free