The Grav API plugin (getgrav/grav-plugin-api) before 1.0.3 fails to sanitize SVG files uploaded through the POST /api/v1/media endpoint. The HandlesMediaUploads::processUploadedFile() method validates only the file extension and never invokes Security::sanitizeSVG(), so an authenticated attacker with the api.media.write permission can upload an SVG containing arbitrary JavaScript. The file is stored unmodified and served with Content-Type: image/svg+xml; when an administrator opens it in a browser (directly or via /), the embedded script executes in their session context, enabling cookie theft and session hijacking.
CVE-2026-61456
Score 4.6 from GitHub Security Advisory published 2026-07-10. a secondary CVSS source baseline 4.6; sources differ by 0.0.
- Lower severity and no public exploit yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 4.6
- EG Score
- 4.6(high)
- EPSS
- 3.8%
- KEV
- Not listed
Published
July 10, 2026
Last Modified
July 10, 2026
Advisory Details (2)
Auto-updated Jul 10, 2026Stored XSS via SVG Upload - API Media Pipeline Bypasses Sanitizer · Advisory · getgrav/grav · GitHub
https://github.com/getgrav/grav/security/advisories/GHSA-7vhm-8x52-2r5pGrav before 1.0.3 Stored XSS via SVG Upload API | Advisories | VulnCheck
https://www.vulncheck.com/advisories/grav-before-stored-xss-via-svg-upload-apiVendor Advisories for CVE-2026-61456(1)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 19× in last 7d / 19× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-15 16:57 UTCEPSS rescore
- 2026-07-15 09:50 UTCEG score recompute
- 2026-07-15 09:50 UTCGHSA enrichment
- 2026-07-15 02:00 UTCEPSS rescore
- 2026-07-15 02:00 UTCEPSS rescore
- 2026-07-14 10:49 UTCEG score recompute
- 2026-07-14 10:49 UTCGHSA enrichment
- 2026-07-13 22:31 UTCEPSS rescore
- 2026-07-13 11:46 UTCEG score recompute
- 2026-07-13 11:46 UTCGHSA enrichment
- 2026-07-13 06:13 UTCEPSS rescore
- 2026-07-13 06:13 UTCEPSS rescore
- 2026-07-12 12:45 UTCEG score recompute
- 2026-07-12 12:45 UTCGHSA enrichment
- 2026-07-12 05:46 UTCEPSS rescore
- 2026-07-11 13:44 UTCEG score recompute
- 2026-07-11 13:44 UTCGHSA enrichment
- 2026-07-10 14:43 UTCEG score recompute
- 2026-07-10 14:42 UTCMITRE cvelistV5first tracked
Related CVEs(same CWE)
Frequently asked(5)
What is CVE-2026-61456?
When was CVE-2026-61456 disclosed?
Is CVE-2026-61456 actively exploited?
What is the CVSS score of CVE-2026-61456?
How do I remediate CVE-2026-61456?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2026-61456
Is Your Infrastructure Affected by CVE-2026-61456?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.