Impact
Grav versions prior to 2.0.0 allow a content editor to embed a crafted image URL with semicolon-delimited CSS declarations in the Markdown resize() parameters. The Excerpts::processMediaActions() routine writes these values straight into the image's styleAttributes without sanitization, so when a higher‑privileged reviewer or administrator opens the page the resulting <img> tag contains attacker‑controlled CSS. This injection is a CWE‑79 Cross‑Site Scripting flaw. No JavaScript execution is required; the injected styles can overlay or redirect the user interface, enabling phishing, spoofing or content tampering attacks.
Affected Systems
The vulnerabilitymanagement system (Grav). All releases before 2.0.0, including the 2.0.0‑rc.9 pre‑release and other builds of the 2.0 branch, are impacted. Versions 2.0.0 and later contain the fix.
Risk and Exploitability
The CVSS score of 4.8 indicates a moderate severity. The EPSS score is < 1%, and the vulnerability is not listed in CISA’s KEV catalog, suggesting no publicly known exploits at this time. Attackers must have permission to edit a page’s Markdown content; they then embed a malicious CSS string that is rendered for any subsequent view. The sites where editors can edit pages that administrators will view, but the lack of JavaScript execution simplifies local attacks and can be used for social‑engineering or UI hijacking. Overall, the risk is moderate, with a moderate exploitation likelihood given the reliance on existing content‑editor privileges.
OpenCVE Enrichment