Popcorn Time 0.4.7 - XSS to RCE
Summary
Name | Popcorn Time 0.4.7 - XSS to RCE |
Code name | |
Product | Popcorn Time |
Affected versions | Version 0.4.7 (Just Keep Swimming) |
State | Public |
Release date | 2022-05-17 |
Vulnerability
Kind | XSS to RCE |
Rule | |
Remote | No |
CVSSv3.1 Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N |
CVSSv3.1 Base Score | 7.7 |
Exploit available | No |
CVE ID(s) |
Description
Popcorn Time 0.4.7 has a Stored XSS in the Movies API Server(s)
field via the settings
page. 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
-
Open the Popcorn time application.
-
Go to
settings
. -
Enable
Show advanced settings
. -
Scroll down to the
API Server(s)
section. -
Insert the following PoC inside the
Movies API Server(s)
field and click onCheck for updates
.a"><script>require('child_process').exec('calc');</script>
-
Scroll down to the
Database
section and click onExport database
. -
The application will create a
.zip
file with the current configuration. -
Send the configuration to the victim.
-
The victim must go to
Settings -> Database
and click onImport Database
-
When the victim restarts the application the XSS will be triggered and will run the
calc
command.
System Information
- Version: Popcorn Time 0.4.7.
- Operating System: Windows 10.0.19042 N/A Build 19042.
- Installer: Popcorn-Time-0.4.7-win64-Setup.exe
Exploit
There is no exploit for the vulnerability but can be manually exploited.
Mitigation
An updated version of PopcornTime is available at the vendor page.
Credits
The vulnerability was discovered by Oscar Uribe from the Offensive Team of Fluid Attacks.
References
Vendor page https://github.com/popcorn-official/popcorn-desktop
Issue https://github.com/popcorn-official/popcorn-desktop/issues/2491
Timeline
2022-04-26
Vulnerability discovered.
2022-04-26
Vendor contacted.
2022-05-04
Vendor Confirmed the vulnerability.
2022-05-07
Vulnerability patched.
2022-05-17
Public Disclosure.