{"id":"CVE-2026-74908","state":"PUBLISHED","title":"Grav plugin-api before 1.0.15 Script Injection via SVG","description":"Grav plugin-api before 1.0.15 contains a script injection vulnerability where the SVG sanitizer only checks for the exact extension 'svg', allowing .svgz and .xhtml files to bypass sanitization and be stored unsanitized. Attackers with api.media.write permission can upload files containing executable script payloads that execute in the site origin when accessed by administrators or visitors.","publishedAt":"2026-08-18T11:19:38.977Z","updatedAt":"2026-08-18T15:08:29.903Z","severity":{"score":5.1,"label":"Medium","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/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.0.15","versionType":"semver"},{"version":"1.0.15","status":"unaffected","versionType":"semver"}]}],"references":["https://github.com/getgrav/grav/security/advisories/GHSA-66xf-ggf4-6hmc","https://www.vulncheck.com/advisories/grav-plugin-api-before-script-injection-via-svg"],"weaknesses":["CWE-79"],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/74xxx/CVE-2026-74908.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-74908","state":"PUBLISHED","datePublished":"2026-08-18T11:19:38.977Z","dateUpdated":"2026-08-18T15:08:29.903Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-08-17T10:48:45.738Z"},"containers":{"cna":{"title":"Grav plugin-api before 1.0.15 Script Injection via SVG","descriptions":[{"lang":"en","value":"Grav plugin-api before 1.0.15 contains a script injection vulnerability where the SVG sanitizer only checks for the exact extension 'svg', allowing .svgz and .xhtml files to bypass sanitization and be stored unsanitized. Attackers with api.media.write permission can upload files containing executable script payloads that execute in the site origin when accessed by administrators or visitors."}],"affected":[{"vendor":"getgrav","product":"grav","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"1.0.15","versionType":"semver"},{"version":"1.0.15","status":"unaffected","versionType":"semver"}]}],"references":[{"url":"https://github.com/getgrav/grav/security/advisories/GHSA-66xf-ggf4-6hmc","tags":["vendor-advisory"],"name":"GitHub Security Advisory (GHSA-66xf-ggf4-6hmc)"},{"url":"https://www.vulncheck.com/advisories/grav-plugin-api-before-script-injection-via-svg","name":"VulnCheck Advisory: Grav plugin-api before 1.0.15 Script Injection via SVG","tags":["third-party-advisory"]}],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"LOW","userInteraction":"PASSIVE","vulnConfidentialityImpact":"LOW","vulnIntegrityImpact":"LOW","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":5.1,"baseSeverity":"MEDIUM"}},{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE","baseScore":4.6,"baseSeverity":"MEDIUM"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","lang":"en","description":"Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-08-18T11:19:38.977Z"},"datePublic":"2026-08-03T00:00:00.000Z","cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*","versionEndExcluding":"1.0.15"}]}]}],"credits":[{"lang":"en","value":"arpitjain099","type":"reporter"}],"x_generator":{"engine":"vulncheck-endgame"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-08-18T15:08:20.387621Z","id":"CVE-2026-74908","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-08-18T15:08:29.903Z"}}]}}}