|Remote Code Execution (RCE) Chain
The RCE vulnerability found in the VoIP, chatting platform Discord is exploited by chaining 3 vulnerabilities in Electron JS:
- Missing contextisolation
- Cross-Site Scripting (XSS) in the ‘iframe embeds’ feature of Discord
- Navigation restriction bypass (CVE-2020-15174)
Exploitation of the vulnerability
The adversary exploits the XSS vulnerability in Discord’s ‘iframe embeds’ feature, to execute the JS code. For example: ‘iframe embeds’ automatically displays the video player on the Discord platform when one posts a YouTube URL. By exploiting the XSS vulnerability, the attacker executes arbitrary JS code in the browser.
- Attackers can execute arbitrary Operating System commands on the victim’s machine allowing them to compromise the host completely.
- Exfiltration of data and creation of persistence to survive restarts enables remote access across the Internet.
- The attacker can misuse details available on the device to further the attack against other potential targets or add the host to an existing botnet.
- Organisational security is affected if the victim is using VPN to connect to a remote corporate network.
- Compromises the endpoint security of the businesses, giving attacker access to the internal corporate network.
All security issues have been patched by the Electron’s security team, few specifics are provided below: