Grav is a flat-file content management system. Prior to version 1.7.42, the patch for CVE-2022-2073, a server-side template injection vulnerability in Grav leveraging the default filter()
function, did not block other built-in functions exposed by Twig’s Core Extension that could be used to invoke arbitrary unsafe functions, thereby allowing for remote code execution. A patch in version 1.74.2 overrides the built-in Twig map()
and reduce()
filter functions in system/src/Grav/Common/Twig/Extension/GravExtension.php
to validate the argument passed to the filter in $arrow
.
github.com/getgrav/grav/commit/8c2c1cb72611a399f13423fc6d0e1d998c03e5c8
github.com/getgrav/grav/security/advisories/GHSA-whr7-m3f8-mpm8
github.com/twigphp/Twig/blob/v1.44.7/src/Environment.php
huntr.dev/bounties/3ef640e6-9e25-4ecb-8ec1-64311d63fe66/
www.github.com/getgrav/grav/commit/9d6a2dba09fd4e56f5cdfb9a399caea355bfeb83