Grav 2.0.15 before 2.2.13 Allowlist Bypass via Flex Form Override Directives
Grav 2.0.15 before 2.2.13 contains an allowlist bypass vulnerability that allows page editors to invoke arbitrary public static methods by relocating data-*@ directives with unset-name@ or integer keys. Attackers with page-edit permission can embed crafted fields in Flex form overrides in page frontmatter to call methods like Folder::delete or Utils::download, deleting directories, overwriting files, or reading files outside the page tree.
- Products
- grav
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-116019
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 15:55 UTC · Revision 2
Source evidence
Grav 2.0.15 before 2.2.13 Allowlist Bypass via Flex Form Override Directives
core-cve · Original sourcePublished 24 Oct 2026, 11:40 UTC
Grav 2.0.15 before 2.2.13 contains an allowlist bypass vulnerability that allows page editors to invoke arbitrary public static methods by relocating data-*@ directives with unset-name@ or integer keys. Attackers with page-edit permission can embed crafted fields in Flex form overrides in page frontmatter to call methods like Folder::delete or Utils::download, deleting directories, overwriting files, or reading files outside the page tree.
cve:CVE-2026-116019
grav
Fixed versions: Not specified
Complete source record
{
"id": "856bbd6b1737e79fec5f70aa34b35fce76325b7a33404ba5ceec603f0db6f309",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-116019",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Grav 2.0.15 before 2.2.13 Allowlist Bypass via Flex Form Override Directives",
"summary": "Grav 2.0.15 before 2.2.13 contains an allowlist bypass vulnerability that allows page editors to invoke arbitrary public static methods by relocating data-*@ directives with unset-name@ or integer keys. Attackers with page-edit permission can embed crafted fields in Flex form overrides in page frontmatter to call methods like Folder::delete or Utils::download, deleting directories, overwriting files, or reading files outside the page tree.",
"evidence": "cve:CVE-2026-116019",
"products": [
{
"name": {
"value": "grav",
"evidence": "/containers/cna/affected/0/product"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2026-116019",
"aliases": [
"CVE-2026-116019"
],
"metrics": [
{
"format": "CVSS",
"cvssV4_0": {
"version": "4.0",
"baseScore": 8.7,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "LOW",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH"
}
},
{
"format": "CVSS",
"cvssV3_1": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 8.8,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
}
}
],
"affected": [
{
"repo": "https://github.com/getgrav/grav",
"vendor": "getgrav",
"product": "grav",
"versions": [
{
"status": "affected",
"version": "2.0.15",
"lessThan": "2.2.13",
"versionType": "semver"
}
],
"packageURL": "pkg:composer/getgrav/grav",
"defaultStatus": "unaffected"
}
],
"modified": "2026-10-26T17:39:42.999Z",
"provider": "cve",
"references": [
"https://github.com/getgrav/grav/security/advisories/GHSA-47gg-mh38-9rr7",
"https://github.com/getgrav/grav/commit/4d9e3935f6b79cc1a157914554ccca6066a16f87",
"https://github.com/getgrav/grav/releases/tag/2.2.13",
"https://github.com/getgrav/grav/blob/2.2.12/system/src/Grav/Common/Data/Blueprint.php",
"https://www.vulncheck.com/advisories/grav-2.0.15-before-2.2.13-allowlist-bypass-via-flex-form-override-directives"
],
"provider_metadata": {
"adp": [
{
"title": "CISA ADP Vulnrichment",
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"id": "CVE-2026-116019",
"role": "CISA Coordinator",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"version": "2.0.3",
"timestamp": "2026-10-26T15:40:21.053590Z"
}
}
}
],
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2026-10-26T17:39:42.999Z"
}
}
],
"cna": {
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck",
"dateUpdated": "2026-10-24T11:40:35.632Z"
}
}
},
"related_cves": [
{
"value": "CVE-2026-116019",
"evidence": "/cveMetadata/cveId"
}
],
"security_relevant": true,
"severity_evidence": "/containers/cna/metrics"
},
"source_id": "core-cve",
"document_id": 326380,
"published_at": "2026-10-24T11:40:35.632+00:00"
}