{"id":"CVE-2026-85603","state":"PUBLISHED","title":"Grav Admin Plugin Path Traversal via Save As Language Code","description":"Grav versions before 1.10.55 contain a path traversal vulnerability in the admin plugin's Save As action that fails to validate the language code parameter. An authenticated admin user with admin.pages.create permission can supply directory traversal sequences in the lang POST field to write arbitrary .md files outside the pages directory with attacker-controlled content.","publishedAt":"2026-09-04T11:30:04.799Z","updatedAt":"2026-09-14T19:33:09.961Z","severity":{"score":7.1,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","source":"VulnCheck"},"assigner":"VulnCheck","products":["getgrav grav"],"affected":[{"vendor":"getgrav","product":"grav","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"1.10.55","versionType":"semver"},{"version":"1.10.55","status":"unaffected","versionType":"semver"}]}],"references":["https://github.com/getgrav/grav/security/advisories/GHSA-h9g9-73c3-23c9","https://www.vulncheck.com/advisories/grav-admin-plugin-path-traversal-via-save-as-language-code"],"weaknesses":["CWE-73"],"ingestedAt":"2026-10-29T20:13:15.269Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/85xxx/CVE-2026-85603.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-85603","state":"PUBLISHED","datePublished":"2026-09-04T11:30:04.799Z","dateUpdated":"2026-09-14T19:33:09.961Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-09-04T11:00:28.731Z"},"containers":{"cna":{"title":"Grav Admin Plugin Path Traversal via Save As Language Code","descriptions":[{"lang":"en","value":"Grav versions before 1.10.55 contain a path traversal vulnerability in the admin plugin's Save As action that fails to validate the language code parameter. An authenticated admin user with admin.pages.create permission can supply directory traversal sequences in the lang POST field to write arbitrary .md files outside the pages directory with attacker-controlled content."}],"affected":[{"vendor":"getgrav","product":"grav","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"1.10.55","versionType":"semver"},{"version":"1.10.55","status":"unaffected","versionType":"semver"}]}],"references":[{"url":"https://github.com/getgrav/grav/security/advisories/GHSA-h9g9-73c3-23c9","tags":["vendor-advisory"],"name":"GitHub Security Advisory (GHSA-h9g9-73c3-23c9)"},{"url":"https://www.vulncheck.com/advisories/grav-admin-plugin-path-traversal-via-save-as-language-code","name":"VulnCheck Advisory: Grav Admin Plugin Path Traversal via Save As Language Code","tags":["third-party-advisory"]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"NONE","attackVector":"NETWORK","baseScore":7.1,"baseSeverity":"HIGH","exploitMaturity":"NOT_DEFINED","privilegesRequired":"LOW","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"NONE","valueDensity":"NOT_DEFINED","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","version":"4.0","vulnAvailabilityImpact":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS"},{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","version":"3.1"},"format":"CVSS"}],"problemTypes":[{"descriptions":[{"cweId":"CWE-73","lang":"en","description":"External Control of File Name or Path","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-09-04T11:30:04.799Z"},"datePublic":"2026-08-20T00:00:00.000Z","cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*","versionEndExcluding":"1.10.55"}]}]}],"credits":[{"lang":"en","value":"entropy1337","type":"reporter"}],"x_generator":{"engine":"vulncheck-endgame"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-85603","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-09-14T19:19:29.057775Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-09-14T19:33:09.961Z"}}]}}}