Information disclosure via unsanitized theme variables
Published Jun 28, 2022 · Updated Apr 22, 2025
CSS injection in Mermaid 8.0.0 through 9.1.2 allows remote authenticated users to disclose browser data through crafted diagrams. The getStyles routine inserts the textColor theme variable and other configuration values into generated style rules without sanitizing CSS metacharacters. A user must render the attacker-controlled diagram; injected selectors can probe DOM attributes through outbound image requests or restyle elements outside the graph.
Summary
What happened
CSS injection in Mermaid 8.0.0 through 9.1.2 allows remote authenticated users to disclose browser data through crafted diagrams. The getStyles routine inserts the textColor theme variable and other configuration values into generated style rules without sanitizing CSS metacharacters. A user must render the attacker-controlled diagram; injected selectors can probe DOM attributes through outbound image requests or restyle elements outside the graph.
The record
- CVE
- CVE-2022-31108
- Published
- Jun 28, 2022
- Updated
- Apr 22, 2025
- Vendor
- Mermaid
- Product
- Mermaid
- Classifications
- CWE-74, CWE-79
- Attack vector
- network
- Privileges
- authenticated
Timeline
How it unfolded
- Jun 28, 2022CVE publishedPublication date reported by the CVE source.
- Apr 22, 2025Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=>= 8.0.0, < 9.1.3
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- GHSA-x3vm-38hw-55wf CSS injection proof of conceptproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo