CVE-2026-55890

Grav: Stored CSS injection via Markdown image ?style=… reaches MediaObjectTrait::style()

Published Jul 10, 2026 CVSS 3.1 · 4.8 Medium EPSS < 1% KEV · Not listed
Description
Grav is a file-based Web platform. Prior to 2.0.0-rc.9, Grav's incomplete fix for stored XSS through the Markdown media attribute action (CVE-2026-42841) leaves the sibling MediaObjectTrait::style method reachable through the same Markdown excerpt-action pipeline, allowing an editor to save Markdown image style parameters that are written into the rendered img style attribute without sanitization. This issue is fixed in version 2.0.0-rc.9.

Analysis

AI-generated

Technical impact

Grav is a file‑based web platform. Prior to version 2.0.0‑rc.9, an incomplete fix for stored XSS through the Markdown media attribute action (CVE‑2026‑42841) allowed the sibling MediaObjectTrait::style method to be reached by the same Markdown excerpt‑action pipeline. This lets an editor embed CSS style parameters in the Markdown image syntax, which are then written directly into the rendered <img> style attribute without sanitization. The issue is fixed in version 2.0.0‑rc.9.

Affected Systems

All releases of the Grav content‑management system from getgrav prior to 2.0.0‑rc.9 are affected. Users should verify their installation and upgrade to 2.0.0‑rc.9, which contains the fix for this weakness.

Risk and Exploitability

The CVSS score is 4.8, reflecting a low overall score, while the EPSS score is < 1%, indicating a very low likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires an attacker to have editor privileges to save malicious Markdown content; once stored, all subsequent visitors will trigger the XSS. No public exploit scripts are known, so the risk remains primarily theoretical in the absence of compromised editors.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Grav to version 2.0.0‑rc.9 or a later release that includes the style‑sanitization fix.
  • Restrict editor privileges so that only trusted users can add or modify Markdown content that includes image style parameters.
  • Review and sanitize existing Markdown content for injected style attributes, removing any malicious CSS before rendering.

Generated by OpenCVE AI on August 1, 2026 at 12:33 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-pmf8-g7c8-7v54 Grav: Stored CSS injection via Markdown image ?style=… reaches MediaObjectTrait::style() — incomplete patch of GHSA-r7fx-8g49-7hhr
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Getgrav
Getgrav grav
Vendors & Products Getgrav
Getgrav grav
Type Values Removed Values Added
Description Grav is a file-based Web platform. Prior to 2.0.0-rc.9, Grav's incomplete fix for stored XSS through the Markdown media attribute action (CVE-2026-42841) leaves the sibling MediaObjectTrait::style method reachable through the same Markdown excerpt-action pipeline, allowing an editor to save Markdown image style parameters that are written into the rendered img style attribute without sanitization. This issue is fixed in version 2.0.0-rc.9.
Title Grav: Stored CSS injection via Markdown image ?style=… reaches MediaObjectTrait::style()
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 4.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N'}

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 10, 2026, 6:39 PM
Reserved
Jun 17, 2026, 4:59 PM
Status
Deferred
Published
Jul 10, 2026, 5:17 PM
Modified
Oct 25, 2026, 3:10 PM