CVE-2024-28118 Grav vulnerable to Server Side Template Injection (SSTI)

High 8.8 Published Updated

An attacker with page editing privileges can bypass SSTI mitigations to execute arbitrary code and escalate privileges on Grav CMS instances.

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-2024-28118?

CVE-2024-28118 is a high-severity code injection vulnerability in Getgrav Grav, published on 21 Mar 2024. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

Grav is an open-source, flat-file content management system. Prior to version 1.7.45, due to the unrestricted access to twig extension class from Grav context, an attacker can redefine config variable. As a result, attacker can bypass a previous SSTI mitigation. Twig processing of static pages can be enabled in the front matter by any administrative user allowed to create or edit pages. As the Twig processor runs unsandboxed, this behavior can be used to gain arbitrary code execution and elevate privileges on the instance. Version 1.7.45 contains a fix for this issue.

Weakness: CWE-94

Which versions are affected by CVE-2024-28118?

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

PackageAffectedFixed in
getgrav/grav PackagistAll versions1.7.45
getgrav/grav PackagistAll versions1.7.45

Products include Getgrav Grav.

How do I fix CVE-2024-28118?

Upgrade getgrav/grav to 1.7.45 or later.

Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.

Is CVE-2024-28118 being exploited?

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

All Getgrav Grav vulnerabilities

Sources

Also known as GHSA-r6vw-8v8r-pmp4.

Is CVE-2024-28118 in your software?

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

Check your SBOMs for free