CVE-2018-1000006: Remote Code Execution in electron

electron Updated 02 Oct 2025

Summary

23/01/2018
Yes i
High
8.8

CVE-2018-1000006: Remote Code Execution in electron. Affects electron across 3 version ranges.

>= 1.6.0, < 1.6.16 >= 1.7.0, < 1.7.11 >= 1.8.0, < 1.8.2-beta.4

Fixed in 1.6.16, 1.7.11 or 1.8.2-beta.4, depending on the release line you run. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

Electron is an open-source framework that allows developers to build cross-platform desktop applications using web technologies such as HTML, CSS, and JavaScript. It provides a runtime environment for creating native-like applications for Windows, macOS, and Linux. However, certain versions of Electron are vulnerable to a remote code execution flaw on Windows when the application registers as the default handler for a specific protocol. This vulnerability arises from a failure to properly sanitize additional arguments to Chromium in the command line handler for Electron. It does not affect macOS and Linux systems.

Vulnerability Detail

The vulnerability in Electron allows an attacker to execute arbitrary code remotely under specific conditions. When an Electron application is running on Windows and registers as the default handler for a protocol, such as nodeapp://, an attacker can exploit this vulnerability. By manipulating the command line arguments passed to Chromium, the attacker can inject malicious code and execute it within the Electron application's context. This can lead to various consequences, including unauthorized access to sensitive data, system compromise, and further exploitation of the host system.

How To Fix

Latest published version: 45.0.0 as of 22 Oct 2026

npm install electron@45.0.0

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • >= 1.6.0, < 1.6.16 1.6.16
    npm install electron@1.6.16
  • >= 1.7.0, < 1.7.11 1.7.11
    npm install electron@1.7.11
  • >= 1.8.0, < 1.8.2-beta.4 1.8.2-beta.4
    npm install electron@1.8.2-beta.4

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Workaround

If you are unable to upgrade your Electron version, you can apply a workaround by appending -- as the last argument when calling app.setAsDefaultProtocolClient. This prevents Chromium from parsing further options. Here is an example of the workaround code:

app.setAsDefaultProtocolClient(protocol, process.execPath, [
  '--your-switches-here',
  '--'
])

Conclusion

The vulnerability in Electron allows for remote code execution on Windows systems when the application registers as the default handler for a specific protocol. It is recommended to update Electron to a non-vulnerable version or apply the provided workaround. Failure to address this vulnerability can result in unauthorized code execution, compromising the security and integrity of the affected Electron applications. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for electron →

Share this vulnerability

FAQ

Versions 1.7.0 to 1.7.11, 1.6.0 to 1.6.16, and 1.8.0 to 1.8.2-beta.3 of Electron are affected by this vulnerability.

Yes, this vulnerability only affects Electron applications running on Windows. macOS and Linux systems are not vulnerable.

Exploiting this vulnerability can lead to remote code execution within the Electron application's context. This can result in unauthorized access to sensitive data, system compromise, and further exploitation of the host system.

If updating Electron is not possible, you can apply the workaround by appending -- as the last argument when calling app.setAsDefaultProtocolClient in your application's code.

There are no known instances of this vulnerability being exploited in the wild. However, it is crucial to address this vulnerability to prevent potential attacks.

Related vulnerabilities

Recent vulnerabilities recorded for electron.

How To Fix

Latest published version: 45.0.0 as of 22 Oct 2026

npm install electron@45.0.0

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • >= 1.6.0, < 1.6.16 1.6.16
    npm install electron@1.6.16
  • >= 1.7.0, < 1.7.11 1.7.11
    npm install electron@1.7.11
  • >= 1.8.0, < 1.8.2-beta.4 1.8.2-beta.4
    npm install electron@1.8.2-beta.4

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback