Code Injection Affecting getgrav/grav package, versions <1.7.45


Severity

Recommended
0.0
high
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of concept
EPSS
0.04% (11th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Code Injection vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-PHP-GETGRAVGRAV-6476900
  • published22 Mar 2024
  • disclosed21 Mar 2024
  • creditakabe1

Introduced: 21 Mar 2024

CVE-2024-28116  (opens in a new tab)
CWE-94  (opens in a new tab)

How to fix?

Upgrade getgrav/grav to version 1.7.45 or higher.

Overview

getgrav/grav is a Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS.

Affected versions of this package are vulnerable to Code Injection due to improper handling of user input in the CMS's templating engine. An attacker can execute arbitrary code on the server by crafting malicious input that exploits the template injection vulnerability. This is only exploitable if the attacker has authenticated access with at least editor permissions.

PoC

{% set arr = {'1':'system', '2':'foo'} %}
{{ var_dump(grav.twig.twig_vars['config'].set('system.twig.safe_functions', arr)) }}
{{ system('id') }}

References

CVSS Scores

version 3.1