Code execution via unsandboxed Mermaid iframe
Published Jun 20, 2023 · Updated Dec 10, 2024
Cross-site scripting in Typora 0.9.79 allows remote attackers to execute arbitrary code when a crafted Mermaid diagram is opened. Mermaid rendering accepts an iframe with attacker-controlled srcdoc without sandboxing, allowing embedded script to access Electron's process binding and spawn a program. A victim must open the crafted document; the demonstrated command-execution payload targets Windows, while script execution was also tested on macOS.
Summary
What happened
Cross-site scripting in Typora 0.9.79 allows remote attackers to execute arbitrary code when a crafted Mermaid diagram is opened. Mermaid rendering accepts an iframe with attacker-controlled srcdoc without sandboxing, allowing embedded script to access Electron's process binding and spawn a program. A victim must open the crafted document; the demonstrated command-execution payload targets Windows, while script execution was also tested on macOS.
The record
- CVE
- CVE-2020-21058
- Published
- Jun 20, 2023
- Updated
- Dec 10, 2024
- Vendor
- Unknown vendor
- Product
- Unknown product
- Classifications
- CWE-79, CAPEC-63, T1204.002
- Attack vector
- network
- Privileges
- unauthenticated
Timeline
How it unfolded
- Jun 20, 2023CVE publishedPublication date reported by the CVE source.
- Dec 10, 2024Record 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?
What conditions does exploitation require?
What is affected?
Affected products and versions are unavailable in this record.
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
- Typora 0.9.79 Mermaid iframe proof of conceptfunctional · 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