Server-side Template Injection (SSTI) in grav
Grav is a file-based Web-platform built in PHP. Grav is subject to a server side template injection (SSTI) vulnerability. The fix for another SSTI vulnerability using `|map`, `|filter` and `|reduce` twigs implemented in the commit `71bbed1` introduces bypass of the denylist due to incorrect return value from `isDangerousFunction()`, which allows to execute the payload prepending double backslash (`\\`). The `isDangerousFunction()` check in version 1.7.42 and onwards retuns `false` value instead of `true` when the `\` symbol is found in the `$name`. This vulnerability can be exploited if the attacker has access to: 1. an Administrator account, or 2. a non-administrator, user account that has Admin panel access and Create/Update page permissions. A fix for this vulnerability has been introduced in commit `b4c6210` and is included in release version `1.7.42.2`. Users are advised to upgrade. There are no known workarounds for this vulnerability.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2023-37897
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 8 Nov 2026, 02:05 UTC · Revision 1
Source evidence
Server-side Template Injection (SSTI) in grav
core-osv · Original sourcePublished 18 Jul 2023, 20:22 UTC
Grav is a file-based Web-platform built in PHP. Grav is subject to a server side template injection (SSTI) vulnerability. The fix for another SSTI vulnerability using `|map`, `|filter` and `|reduce` twigs implemented in the commit `71bbed1` introduces bypass of the denylist due to incorrect return value from `isDangerousFunction()`, which allows to execute the payload prepending double backslash (`\\`). The `isDangerousFunction()` check in version 1.7.42 and onwards retuns `false` value instead of `true` when the `\` symbol is found in the `$name`. This vulnerability can be exploited if the attacker has access to: 1. an Administrator account, or 2. a non-administrator, user account that has Admin panel access and Create/Update page permissions. A fix for this vulnerability has been introduced in commit `b4c6210` and is included in release version `1.7.42.2`. Users are advised to upgrade. There are no known workarounds for this vulnerability.
osv:CVE-2023-37897
Complete source record
{
"id": "e3d01698c10214684b1dc3397ede77aff7d86d356ded1f8408b16faacc647e82",
"url": "https://osv.dev/vulnerability/CVE-2023-37897",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Server-side Template Injection (SSTI) in grav",
"summary": "Grav is a file-based Web-platform built in PHP. Grav is subject to a server side template injection (SSTI) vulnerability. The fix for another SSTI vulnerability using `|map`, `|filter` and `|reduce` twigs implemented in the commit `71bbed1` introduces bypass of the denylist due to incorrect return value from `isDangerousFunction()`, which allows to execute the payload prepending double backslash (`\\\\`). The `isDangerousFunction()` check in version 1.7.42 and onwards retuns `false` value instead of `true` when the `\\` symbol is found in the `$name`. This vulnerability can be exploited if the attacker has access to: 1. an Administrator account, or 2. a non-administrator, user account that has Admin panel access and Create/Update page permissions. A fix for this vulnerability has been introduced in commit `b4c6210` and is included in release version `1.7.42.2`. Users are advised to upgrade. There are no known workarounds for this vulnerability.",
"evidence": "osv:CVE-2023-37897",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2023-37897",
"aliases": [
"CVE-2023-37897",
"GHSA-9436-3gmp-4f53"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/getgrav/grav",
"type": "GIT",
"events": [
{
"introduced": "dc209453d0817547db0d3a8b27110decb63f2b5d"
},
{
"fixed": "71bbed12f950de8335006d7f91112263d8504f1b"
},
{
"fixed": "b4c62101a43051fc7f5349c7d0a5b6085375c1d7"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:getgrav:grav:1.7.42:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.7.42"
},
{
"last_affected": "1.7.42"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:getgrav:grav:1.7.42.1:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.7.42.1"
},
{
"last_affected": "1.7.42.1"
}
],
"source": "CPE_STRING"
},
{
"range": [
{
"fixed": "71bbed12f950de8335006d7f91112263d8504f1b"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "b4c62101a43051fc7f5349c7d0a5b6085375c1d7"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"1.7.42",
"1.7.42.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-37897.json"
}
}
],
"modified": "2026-10-28T02:30:52.833142449Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/37xxx/CVE-2023-37897.json",
"https://github.com/getgrav/grav/security/advisories/GHSA-9436-3gmp-4f53",
"https://nvd.nist.gov/vuln/detail/CVE-2023-37897",
"https://github.com/getgrav/grav/commit/71bbed12f950de8335006d7f91112263d8504f1b",
"https://github.com/getgrav/grav/commit/b4c62101a43051fc7f5349c7d0a5b6085375c1d7"
],
"provider_metadata": {
"cwe_ids": [
"CWE-393",
"CWE-74"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/37xxx/CVE-2023-37897.json"
}
},
"related_cves": [
{
"value": "CVE-2023-37897",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 521620,
"published_at": "2023-07-18T20:22:13.008+00:00"
}