CVE-2018-15685
GitHub Electron 1.7.15, 1.8.7, 2.0.7, and 3.0.0-beta.6, in certain scenarios involving IFRAME elements and "nativeWindowOpen: true" or "sandbox: true" options, is affected by a WebPreferences vulne...
Public exploit available. Not confirmed exploited in the wild yet. Fixed in 1.7.16.
What to do
Find your product and version, then upgrade to the build on the right.
- Npm ElectronAffected: ≥ 1.7.0, < 1.7.16Upgrade to: 1.7.16Stated by: GitHub advisory
- ElectronAffected: 3.0.0-beta.6Upgrade to: not statedStated by: BDU
Versions as the sources state them. Full version matrix after sign-in
Steps
Written by AI from the record- Check whether your business uses GitHub Electron versions 1.7.15, 1.8.7, 2.0.7, or 3.0.0-beta.6 (e.g., in your app’s package/app version or build settings).
- If you use those Electron versions, confirm whether your app enables
nativeWindowOpen: trueorsandbox: trueinwebPreferencesand uses iframe elements (or loads iframe content from the web). - Upgrade Electron to a fixed version: 1.7.16 (or later), 1.8.8 (or later), 2.0.8 (or later), or 3.0.0-beta.7 (or later).
- If you cannot upgrade right away, reduce exposure by removing/avoiding iframe usage and/or disabling the risky webPreferences options in the affected Electron configuration, then plan the upgrade immediately after.
npm install electron@^1.7.16What it is
From the CVE record
Electron webPreferences vulnerability can be used to perform remote code execution
In plain language
Written by AI from the recordCVE-2018-15685 is a serious Electron browser flaw that can let an attacker run code on a computer if (and only if) you’re using specific Electron versions and your app uses iframe content with either `nativeWindowOpen: true` or `sandbox: true` turned on; most small businesses won’t be affected unless you ship or run a custom Electron app in those versions.
Unauthenticated remote code execution in affected GitHub Electron versions (1.7.15, 1.8.7, 2.0.7, 3.0.0-beta.6) can occur in specific IFRAME handling scenarios when `nativeWindowOpen: true` or `sandbox: true` webPreferences are enabled; the attacker triggers it by manipulating frame-related behavior in the WebPreferences configuration.
If you're affected
- Full takeover of the host
- Malware installation on servers
- Operational disruption
- Data theft from local apps
Exploitation
Where each signal puts this CVE on the scale from published to confirmed exploited.
- CISA KEV
Not in the catalog. CISA has not confirmed exploitation.
- Public exploits
2 sources with a proof of concept or module.
Exploit links, PoCs and Metasploit modules after sign-in- EPSS
10% chance of exploitation activity in the next 30 days, which ranks it in the 96th percentile of scored CVEs.
Exploit Prediction Scoring System, FIRST.org. A probability, not a confirmation.
Lifecycle
The patch came 471 days before any public exploit.
- EPSS band change0 → moderateepss band change
- EPSS band changemoderate → 0epss band change
- EPSS band change0 → moderateepss band change
- EPSS band changemoderate → 0epss band change
- EPSS band change0 → moderateepss band change
- EPSS band changemoderate → low
Affected products
Technical detail
CVSS 3.0 vector
Open in the CVSS calculatorCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Scored 8.1 by NVD.
How it is reached
- Attack Vector NetworkExploitable remotely over the network without any special conditions
- Attack Complexity HighRequires specific conditions like a race condition or non-default configuration
- Privileges Required NoneNo authentication required — anyone can exploit this
- User Interaction NoneNo user interaction needed — fully automated exploitation
Scope
- Scope UnchangedImpact is limited to the vulnerable component itself
Impact if exploited
- Confidentiality HighTotal information disclosure — all data in the component is compromised
- Integrity HighTotal loss of integrity — attacker can modify any data in the component
- Availability HighTotal denial of service — the component is completely unavailable
Weaknesses
Sources
Watch the software you run.
My Stack ranks new CVEs for your products by real-world exploitation, so the next serious one reaches you without reading every advisory.
We'll flag the next CVE, public exploit or patch for Electron, not every advisory. This one: public exploit.
A free account adds
- The full version matrix and every affected product
- Exploit links, proofs of concept and Metasploit modules
- Email alerts for the products you watch
- The same data over REST API, MCP and CLI