Markdownify 1.4.1 - Local File Read
Summary
Name | Markdownify 1.4.1 - Local File Read |
Code name | |
Product | Badaso |
Affected versions | Version 1.4.1 |
State | Public |
Release date | 2022-10-18 |
Vulnerability
Kind | Insecure or unset HTTP headers - Content-Security-Policy |
Rule | |
Remote | Yes |
CVSSv3.1 Vector | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N |
CVSSv3.1 Base Score | 5.5 |
Exploit available | Yes |
CVE ID(s) |
Description
Markdownify version 1.4.1 allows an external attacker to remotely obtain arbitrary local files on any client that attempts to view a malicious markdown file through Markdownify. This is possible because the application does not have a CSP policy (or at least not strict enough) and/or does not properly validate the contents of markdown files before rendering them.
Vulnerability
This vulnerability occurs because the application does not have a CSP policy (or at least not strict enough) and/or does not properly validate the contents of markdown files before rendering them. Because of the above, an attacker can embed malicious JS code in a markdown file and send it to the victim to view and thus achieve an exfiltration of their local files.
Exploitation
To exploit this vulnerability, you must send the following file to a user to open with Markdownify.
exploit.md
<img src="1" onerror='fetch("file:///etc/private").then(data => data.text()).then(leak => alert(leak));'/>
Evidence of exploitation
Our security policy
We have reserved the CVE-2022-41710 to refer to this issue from now on.
System Information
-
Version: Markdownify 1.4.1
-
Operating System: GNU/Linux
Mitigation
There is currently no patch available for this vulnerability.
Credits
The vulnerability was discovered by Carlos Bello from Fluid Attacks' Offensive Team.
References
Vendor page https://github.com/amitmerchant1990/electron-markdownify
Timeline
2022-09-28
Vulnerability discovered.
2022-09-28
Vendor contacted.
2022-09-28
Vendor replied acknowledging the report.
2022-10-18
Public Disclosure.