Read the docs
TI-2023-17087 Aliases CVE-2023-34252GHSA-96xv-rmwj-6p9w

Grav Server-side Template Injection via Insufficient Validation in filterFilter

Priority HIGH 79CWE-1336Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-1336.

Summary

Grav is a flat-file content management system. Prior to version 1.7.42, there is a logic flaw in the `GravExtension.filterFilter()` function whereby validation against a denylist of unsafe functions is only performed when the argument passed to filter is a string. However, passing an array as a callable argument allows the validation check to be skipped. Consequently, a low privileged attacker with login access to Grav Admin panel and page creation/update permissions is able to inject malicious templates to obtain remote code execution. The vulnerability can be found in the `GravExtension.filterFilter()` function declared in `/system/src/Grav/Common/Twig/Extension/GravExtension.php`. Version 1.7.42 contains a patch for this issue. End users should also ensure that `twig.undefined_functions` and `twig.undefined_filters` properties in `/path/to/webroot/system/config/system.yaml` configuration file are set to `false` to disallow Twig from treating undefined filters/functions as PHP functions and executing them.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.02074 81st percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed grav (getgrav): 1.7.42getgrav/grav (Packagist): 1.7.42

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
getgravgravbefore 1.7.421.7.42Patch availableCNA
—getgrav/grav (Packagist)before 1.7.421.7.42Patch availableGHSA-96xv-rmwj-6p9w
  • grav Vendorgetgrav Affected before 1.7.42 Fixed in 1.7.42 Patch available CNA
  • getgrav/grav (Packagist) Vendor— Affected before 1.7.42 Fixed in 1.7.42 Patch available GHSA-96xv-rmwj-6p9w

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*before 1.7.42Vulnerablegetgrav
  • cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:* Versions before 1.7.42 Vulnerable ·getgrav

Remediation

  • Fix · CNA grav (getgrav) Fixed in 1.7.42
  • Fix · GHSA-96xv-rmwj-6p9w getgrav/grav (Packagist) Fixed in 1.7.42 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-34252
  2. 2026-10-03 Alias added: GHSA-96xv-rmwj-6p9w

References

  • TI-2025-28971 Cross Site Scripting vulnerability in grav v.1.7.48 and before allows an attacker to… CVSS 3.1CRITICAL 9.8
  • TI-2021-22428 GravCMS 1.10.7 - Arbitrary YAML Write/Update (Unauthenticated) (2) CVSS 4.0CRITICAL 9.3
  • TI-2025-41064 In grav <1.7.49.5, a SSRF (Server-Side Request Forgery) vector may be triggered via Twig… CVSS 3.1CRITICAL 9.1
  • TI-2026-30888 Grav: Unauthenticated Path Traversal & Arbitrary File Write in FormFlash component. CVSS 4.0HIGH 8.8
  • TI-2025-40773 Security Sandbox Bypass with SSTI (Server Side Template Injection) in the Grav CMS CVSS 3.1HIGH 8.8
  • TI-2025-40768 Grav is vulnerable to RCE via SSTI through Twig Sandbox Bypass CVSS 4.0HIGH 8.7
See all 56 →

Sources