Vulnerabilities in pkg:npm/electron

PACKAGE
Advisory Identifier: GHSA-vv43-5jgx-7qv8
Advisory Summary

CVE-2026-102672 is a MODERATE (CVSS 6.7) local race condition vulnerability (CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition) affecting Electron libraries in the npm ecosystem. The issue involves local race condition in squirrel.mac update installation on macos. Remediation is available by upgrading affected packages to version 39.8.10, 41.10.5, 42.0.0-beta.2.

71 Known Advisory Record(s)
Package Vulnerability Intelligence

pkg:npm/electron

71 Known Advisory Record(s)

Vulnerability advisories affecting package pkg:npm/electron. Select an advisory below to view technical details or fixes.

Advisory ID CVE / NVD Severity Summary
GHSA-vv43-5jgx-7qv8 CVE-2026-102672 MODERATE Electron: Local race condition in Squirrel.Mac update installation on macOS
GHSA-hq2x-r82h-9wj4 CVE-2026-102673 HIGH Electron drops inherited HTML sandbox restrictions for popups opened through OpenURLFromTab
GHSA-gr2m-v5gq-v685 CVE-2026-102674 HIGH Electron: Windows opened from a sandboxed top-level document do not inherit its sandbox restrictions
GHSA-j84w-jfhq-vhvj CVE-2026-102675 HIGH Electron: File and HTTP protocol handlers allow cross-origin reads without corsEnabled
GHSA-9qh4-3jw8-366w CVE-2026-102676 HIGH Electron: <webview> can enable Node.js integration in Web Workers despite embedder restrictions
GHSA-qmv3-fv6v-rmhq CVE-2026-102677 HIGH Electron: Sandboxed preload code cache can be poisoned by a compromised renderer
GHSA-p2rr-rvmm-c5fp CVE-2026-70612 MODERATE Electron: Sandboxed iframes can launch external protocol handlers
GHSA-f2r8-jv7c-xqmp CVE-2026-70611 MODERATE Electron: DevTools embedder handler executes arbitrary files via shell open
GHSA-ff2p-hmqr-hxm4 CVE-2026-70610 MODERATE Electron: contextBridge object copy honors prototype setters
GHSA-4f78-qhmw-8j8m CVE-2026-70609 MODERATE Electron: DevTools JavaScript Injection via Unsanitized Dock State Parameter
GHSA-9f4c-93c8-jc8g CVE-2026-70608 HIGH Electron: Sandboxed iframe can bypass the allow-popups restriction via the OpenURL navigation path
GHSA-v93f-fgjr-hjrj CVE-2026-70607 MODERATE Electron: window.open features string controls some window options considered privileged
GHSA-r4w5-6pfg-jxp5 CVE-2026-70606 MODERATE Electron: ProtocolResponse.url reuses the default session cache instead of the registering session
GHSA-v64r-4m7r-3mvq CVE-2026-70605 MODERATE Electron: HTTP redirect followed into local file loader
GHSA-v3j7-r9gq-3gjw CVE-2026-70604 HIGH Electron: Custom protocol with supportFetchAPI but not corsEnabled allows cross-origin reads
GHSA-m55f-7gqj-fr98 CVE-2026-70602 MODERATE Electron: Extension tab APIs operate across session boundaries
GHSA-5c9j-mhmv-5xgx CVE-2026-70603 MODERATE Electron: shell.openPath path validation bypass via embedded null byte
GHSA-h7rp-cf8h-j98x CVE-2026-70601 HIGH Electron: Context isolation bypass via Function.prototype.bind hijack
GHSA-x8rc-wpg4-grpf CVE-2026-70600 LOW Electron: Cross-origin iframe can position native autofill popup
GHSA-9pf5-hg6p-4pwp CVE-2026-70599 MODERATE Electron: Permission Check Handler Receives Main Frame Origin Instead of Requesting Iframe Origin
GHSA-pfmc-3mgc-p6fp CVE-2026-70598 LOW Electron: Off-screen rendering trusts GPU-supplied geometry over shared-memory size
GHSA-jm7p-cc5g-qwxx CVE-2026-70597 MODERATE Electron: Parent process code-sign check is spoofable
GHSA-q6m5-f73j-m9mc CVE-2026-54257 CRITICAL Electron: Buffer performs incorrect byte length calculations resulting in heap buffer under/overflow
GHSA-f37v-82c4-4x64 CVE-2026-34781 LOW Electron: Crash in clipboard.readImage() on malformed clipboard image data
GHSA-f3pv-wv63-48x8 CVE-2026-34765 MODERATE Electron: Named window.open targets not scoped to the opener's browsing context
GHSA-8x5q-pvf5-64mp CVE-2026-34764 LOW Electron: Use-after-free in offscreen shared texture release() callback
GHSA-jfqg-hf23-qpw2 CVE-2026-34780 HIGH Electron: Context Isolation bypass via contextBridge VideoFrame transfer
GHSA-5rqw-r77c-jp79 CVE-2026-34779 MODERATE Electron: AppleScript injection in app.moveToApplicationsFolder on macOS
GHSA-xj5x-m3f3-5x3h CVE-2026-34778 MODERATE Electron: Service worker can spoof executeJavaScript IPC replies
GHSA-r5p7-gp4j-qhrx CVE-2026-34777 MODERATE Electron: Incorrect origin passed to permission request handler for iframe requests
GHSA-3c8v-cfp5-9885 CVE-2026-34776 MODERATE Electron: Out-of-bounds read in second-instance IPC on macOS and Linux
GHSA-xwr5-m59h-vwqr CVE-2026-34775 MODERATE Electron: nodeIntegrationInWorker not correctly scoped in shared renderer processes
GHSA-532v-xpq5-8h95 CVE-2026-34774 HIGH Electron: Use-after-free in offscreen child window paint callback
GHSA-mwmh-mq4g-g6gr CVE-2026-34773 MODERATE Electron: Registry key path injection in app.setAsDefaultProtocolClient on Windows
GHSA-9w97-2464-8783 CVE-2026-34772 MODERATE Electron: Use-after-free in download save dialog callback
GHSA-8337-3p73-46f4 CVE-2026-34771 HIGH Electron: Use-after-free in WebContents fullscreen, pointer-lock, and keyboard-lock permission callbacks
GHSA-jjp3-mq3x-295m CVE-2026-34770 HIGH Electron: Use-after-free in PowerMonitor on Windows and macOS
GHSA-9wfr-w7mm-pc7f CVE-2026-34769 HIGH Electron: Renderer command-line switch injection via undocumented commandLineSwitches webPreference
GHSA-jfqx-fxh3-c62j CVE-2026-34768 LOW Electron: Unquoted executable path in app.setLoginItemSettings on Windows
GHSA-4p4r-m79c-wq3v CVE-2026-34767 MODERATE Electron: HTTP Response Header Injection in custom protocol handlers and webRequest
GHSA-9899-m83m-qhpj CVE-2026-34766 LOW Electron: USB device selection not validated against filtered device list
GHSA-vmqv-hx8q-j7mg CVE-2025-55305 MODERATE Electron has ASAR Integrity Bypass via resource modification
GHSA-j7hp-h8jx-5ppr CVE-2023-4863 HIGH libwebp: OOB write in BuildHuffmanTable
GHSA-6r2x-8pq8-9489 CVE-2024-46993 MODERATE Electron vulnerable to Heap Buffer Overflow in NativeImage
GHSA-xw5q-g62x-2qjc CVE-2024-46992 HIGH electron ASAR Integrity bypass by just modifying the content
GHSA-hvf8-h2qh-37m9 CVE-2020-26272 MODERATE IPC messages delivered to the wrong frame in Electron
GHSA-7m48-wc93-9g85 CVE-2023-44402 MODERATE ASAR Integrity bypass via filetype confusion in electron
GHSA-qqvq-6xgj-jw8g CVE-2023-5217 HIGH Electron affected by libvpx's heap buffer overflow in vp8 encoding
GHSA-7fv9-m79r-j9x8 CVE-2017-12581 HIGH Electron vulnerable to remote command execution
GHSA-4w88-rjj3-x7wp CVE-2017-16151 CRITICAL Chromium Remote Code Execution in electron
GHSA-8xwg-wv7v-4vqp CVE-2018-1000136 HIGH Electron Vulnerable to Code Execution by Re-Enabling Node.js Integration
GHSA-7x97-j373-85x5 CVE-2023-39956 MODERATE Electron vulnerable to out-of-package code execution when launched with arbitrary cwd
GHSA-p7v2-p9m8-qqg7 CVE-2023-29198 MODERATE Electron context isolation bypass via nested unserializable return value
GHSA-gxh7-wv9q-fwfr CVE-2023-23623 HIGH Electron's Content-Secrity-Policy disabling eval not applied consistently in renderers with sandbox disabled
GHSA-995f-9x5r-2rcj CVE-2022-4135 CRITICAL Heap buffer overflow in GPU
GHSA-p2jh-44qj-pf2v CVE-2022-36077 MODERATE Exfiltration of hashed SMB credentials on Windows via file:// redirect
GHSA-6h98-cf9g-vmg2 CVE-2017-1000424 MODERATE Electron vulnerable to URL spoofing via PDFium
GHSA-mpjm-v997-c4h4 CVE-2021-39184 MODERATE Electron's sandboxed renderers can obtain thumbnails of arbitrary files through the nativeImage API
GHSA-hv9c-qwqg-qj3v CVE-2018-15685 HIGH Electron webPreferences vulnerability can be used to perform remote code execution
GHSA-77xc-hjv8-ww97 CVE-2022-29257 MODERATE AutoUpdater module fails to validate certain nested components of the bundle
GHSA-mq8j-3h7h-p8g7 CVE-2022-29247 LOW Compromised child renderer processes could obtain IPC access without nodeIntegrationInSubFrames being enabled
GHSA-fjqr-fx3f-g4rv CVE-2018-1000118 HIGH Electron protocol handler browser vulnerable to Command Injection
GHSA-3p22-ghq8-v749 CVE-2022-21718 LOW Renderers can obtain access to random bluetooth device without permission in Electron
GHSA-2q4g-w47c-4674 CVE-2020-15174 HIGH Unpreventable top-level navigation
GHSA-gvcj-pfq2-wxj7 CVE-2016-1202 HIGH High severity vulnerability that affects electron
GHSA-w222-53c6-c86p CVE-2018-1000006 HIGH Remote Code Execution in electron
GHSA-f9mq-jph6-9mhm CVE-2020-4075 MODERATE Arbitrary file read via window-open IPC in Electron
GHSA-h9jc-284h-533g CVE-2020-4077 HIGH Context isolation bypass via contextBridge in Electron
GHSA-6vrv-94jv-crrg CVE-2020-15096 LOW Context isolation bypass via Promise in Electron
GHSA-m93v-9qjc-3g79 CVE-2020-4076 HIGH Context isolation bypass via leaked cross-context objects in Electron
GHSA-56pc-6jqp-xqj8 CVE-2020-15215 LOW Context isolation bypass in Electron

CVE-2026-102672 at a Glance

CVE Identifier CVE-2026-102672
GHSA Identifier GHSA-vv43-5jgx-7qv8
Severity MODERATE
CVSS v3.1 Base Score 6.7
CWE Classification CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition
Affected Product Electron
Package Ecosystem npm
Published Date
Last Updated

Security Impact

CVSS: 6.7

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H).

Attack Vector Local (AV:L)
Attack Complexity High (AC:H)
Privileges Required Low (PR:L)
User Interaction Required (UI:R)
Scope Unchanged (S:U)
Confidentiality High (C:H)
Integrity High (I:H)
Availability High (A:H)

How to Fix CVE-2026-102672

To remediate this vulnerability, upgrade all affected Electron dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

electron fixed: 39.8.10
npm install electron@39.8.10
electron fixed: 41.10.5
npm install electron@41.10.5
electron fixed: 42.0.0-beta.2
npm install electron@42.0.0-beta.2
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

npm ls electron

How to Check if You Are Affected

To determine whether your Node.js application is affected by CVE-2026-102672, inspect your project dependencies using npm:

npm ls electron

Analyze the terminal output to locate any version of Electron in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 39.8.10), your application is affected.

Note: The npm ls electron command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition, where the product checks the state of a resource before using that resource, but the resource's state can change between the check and the use in a way that invalidates the results of the check. In Electron, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Impact On macOS, Electron bundles the Squirrel.Mac auto-update framework, whose privileged `ShipIt` helper performs the final step of an update as root. A local attacker could cause that helper to overwrite a different application's files, as root, instead of the app that started the update. Exploitation requires local access to the machine. Apps are only affected on macOS if they ship Squirrel.Mac-based auto-updates. Apps on other platforms, or that do not use Squirrel.Mac auto-updates, are not affected. ### Workarounds There are no app side workarounds, you must update to a patched version of Electron. ### Fixed Versions * `42.0.0-beta.2` * `41.10.5` * `39.8.10` ### For more information If you have any questions or comments about this advisory, email us at [security@electronjs.org](mailto:security@electronjs.org)

CVE-2026-102672 Affected Electron Versions

3 component(s)
Fixed Versions:
39.8.1041.10.542.0.0-beta.2
Product / Package Ecosystem Affected Versions Fixed Version
electron
npm
< 39.8.10
39.8.10
electron
npm
≥ 40.0.0-alpha.1
< 41.10.5
41.10.5
electron
npm
≥ 42.0.0-alpha.1
< 42.0.0-beta.2
42.0.0-beta.2

References

Frequently Asked Questions

What is CVE-2026-102672?
CVE-2026-102672 is a security vulnerability in Electron involving Local race condition in Squirrel.Mac update installation on macOS under CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition.
Which Electron versions are affected?
Affected versions include releases prior to 39.8.10, 41.10.5, 42.0.0-beta.2 across affected packages: electron.
What version fixes CVE-2026-102672?
Upgrading to 39.8.10, 41.10.5, 42.0.0-beta.2 (or the latest patched release for your respective branch) resolves the vulnerability.
Is electron affected?
Yes, electron is affected in releases prior to 39.8.10, 41.10.5, 42.0.0-beta.2. Upgrade your dependency to 39.8.10, 41.10.5, 42.0.0-beta.2 or later.
What is the CVSS score of CVE-2026-102672?
CVE-2026-102672 has a CVSS v3.1 base score of 6.7 (MODERATE) with vector string CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H.
What CWE is associated with CVE-2026-102672?
CVE-2026-102672 is classified under CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition (The product checks the state of a resource before using that resource, but the resource's state can change between the check and the use in a way that invalidates the results of the check.).
How can I check npm dependencies for CVE-2026-102672?
Run the dependency tree command: 'npm ls electron'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-vv43-5jgx-7qv8",
  "modified" : "2026-09-29T18:06:59Z",
  "published" : "2026-09-29T18:06:59Z",
  "aliases" : [ "CVE-2026-102672" ],
  "summary" : "Electron: Local race condition in Squirrel.Mac update installation on macOS",
  "details" : "### Impact\n\nOn macOS, Electron bundles the Squirrel.Mac auto-update framework, whose privileged `ShipIt` helper performs the final step of an update as root. A local attacker could cause that helper to overwrite a different application's files, as root, instead of the app that started the update. Exploitation requires local access to the machine.\n\nApps are only affected on macOS if they ship Squirrel.Mac-based auto-updates. Apps on other platforms, or that do not use Squirrel.Mac auto-updates, are not affected.\n\n### Workarounds\n\nThere are no app side workarounds, you must update to a patched version of Electron.\n\n### Fixed Versions\n\n* `42.0.0-beta.2`\n* `41.10.5`\n* `39.8.10`\n\n### For more information\n\nIf you have any questions or comments about this advisory, email us at [security@electronjs.org](mailto:security@electronjs.org)",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "npm",
      "name" : "electron"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "39.8.10"
      } ]
    } ]
  }, {
    "package" : {
      "ecosystem" : "npm",
      "name" : "electron"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "40.0.0-alpha.1"
      }, {
        "fixed" : "41.10.5"
      } ]
    } ]
  }, {
    "package" : {
      "ecosystem" : "npm",
      "name" : "electron"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "42.0.0-alpha.1"
      }, {
        "fixed" : "42.0.0-beta.2"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/electron/electron/security/advisories/GHSA-vv43-5jgx-7qv8"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/electron/electron/pull/50745"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/electron/electron/commit/01faabfc250801a980fc94d64608046c67fc1cd9"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/electron/electron/commit/15e2928a5c5f01759107b414010e220d90d59cef"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/electron/electron/commit/a0f9ff4cc0340545008424232d49caadd9c0c767"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/electron/electron/commit/b8f25c4cedb2e0f5f475912b709aba19c57c26be"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/electron/electron"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/electron/electron/releases/tag/v39.8.10"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/electron/electron/releases/tag/v41.10.5"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/electron/electron/releases/tag/v42.0.0-beta.2"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-367" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-09-29T18:06:59Z",
    "nvd_published_at" : null
  }
}