Skip to content
Heist/ feed
Back to feed
High

Server-side Template Injection (SSTI) in grav

Type: advisorySources: OSV

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 source

Published 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"
}