Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconGain low-privileged local shell on macOS
-
DeliveryIdentify Electron app with same-signed-parent fuse restrictions enabled
-
ExploitSpawn controlled process as app parent, then force parent exit
-
InstallRace to recycle parent PID with attacker-controlled process
-
C2Electron TOCTOU check approves attacker process as same-signed parent
-
ExecuteSupply ELECTRON_RUN_AS_NODE or NODE_OPTIONS to execute arbitrary Node.js
-
ImpactInherit signed app's TCC permissions and keychain access
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture TOCTOU prevention
|
| Exploitation Conditions | Four concrete prerequisites must all be met: (1) macOS platform only - this vulnerability does not affect Electron on Windows or Linux; (2) the target Electron application must have explicitly enabled the fuse-based hardening that restricts ELECTRON_RUN_AS_NODE and/or NODE_OPTIONS to same-signed parent processes - applications without this fuse configuration enabled are explicitly not affected per the vendor advisory; (3) the attacker must have local code execution as a low-privileged user (PR:L) on the same macOS system as the target application; (4) successful exploitation requires winning a TOCTOU timing race - the attacker must recycle the legitimate parent's PID between Electron's getppid() call and the kSecGuestAttributePid Security framework lookup, demanding precise timing or repeated attempts (reflected in AC:H). The limiting factors - local access only, non-default hardening opt-in required, and race-condition complexity - substantially reduce the realistic attack population beyond what the C:H/I:H impact scores suggest in isolation. |
| Impact | CVSS 6.3 (Medium) with vector AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N accurately represents this vulnerability. The local-only attack vector (AV:L) and high attack complexity (AC:H) significantly constrain exploitability: the attacker must control PID recycling timing on the same macOS host within a narrow race window. Despite those constraints, the C:H and I:H scores are well-justified - successful exploitation yields TCC entitlement inheritance (camera, microphone, contacts, location) and full keychain access of the target signed application, which can be extremely high-value targets. No EPSS score was supplied in the input data; exploitation probability is therefore inferred from the attack complexity and the absence of any CISA KEV listing. No public POC has been identified at time of analysis. The real-world attack surface is further narrowed to macOS only and to Electron apps that have opted into the fuse-based same-signed-parent hardening - a non-default, security-conscious configuration. This makes opportunistic mass exploitation unlikely, but targeted attacks against high-value Electron apps (password managers, developer tools with secrets access) are plausible for a motivated local attacker. |
| Exploit ScenarioDerived | A local attacker with a low-privileged shell on macOS targets an Electron application that has enabled same-signed-parent fuse restrictions (such as a password manager or developer tool with broad TCC permissions). The attacker launches a controlled process as the parent of the Electron app, then forces the parent to exit and immediately races to recycle the same PID with an attacker-controlled unsigned or differently-signed process. In the narrow TOCTOU window between Electron's getppid() call and the Security framework's code-signature lookup, Electron approves the attacker's process as a same-signed parent, allowing the attacker to supply ELECTRON_RUN_AS_NODE or NODE_OPTIONS and execute arbitrary Node.js code inside the signed app - inheriting its keychain access and TCC entitlements. No public POC has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 05, 2026
Parent process code-sign spoofing in Electron on macOS allows a local low-privileged attacker to bypass fuse-based hardening controls restricting ELECTRON_RUN_AS_NODE and NODE_OPTIONS, injecting code inside the signed Electron application and inheriting its TCC permissions and keychain access. Only macOS deployments of Electron apps that have explicitly enabled same-signed-parent fuse restrictions are exposed; applications without this hardening are unaffected. No public exploit has been identified at time of analysis, and CVSS AC:H reflects the PID-reuse race-condition timing requirement inherent to the attack.
RemediationAI
Update the Electron dependency to a patched version: 39.8.8 (39.x branch), 40.9.0 or 40.9.1 (40.x branch - see note in confidence section), 41.2.1 (41.x branch), or 42.0.0-beta.3 (42.x pre-release). App developers must rebuild and redistribute their Electron-based applications using the patched Electron version. Per the official GHSA advisory, there are no application-side workarounds - the fix is exclusively in the Electron runtime itself and must be taken as an Electron version upgrade. As a conditional risk-reduction measure only, organizations may assess whether the affected fuse-based same-signed-parent flags are actually enabled in their deployments; if they are not enabled, the specific attack path described in this CVE is not present. However, disabling those fuse flags is not recommended as a mitigation because it removes an active security hardening control. Full advisory at https://github.com/electron/electron/security/advisories/GHSA-jm7p-cc5g-qwxx and fix commit at https://github.com/electron/electron/commit/0a6291a97d210db3733689e70a51f5711e38ed35.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 4 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
This is a TOCTOU race condition (CWE-367) in Electron's macOS parent-process identity verification. The original code in shell/app/node_main.cc called getppid() to obtain the parent PID, then passed that PID to shell/common/mac/codesign_util.cc using kSecGuestAttributePid with Apple's Security framework to compare code signatures. PIDs are ephemeral - once the legitimate parent exits, its PID can be recycled by an attacker-controlled process, causing Electron to evaluate the attacker's code signature in place of the true parent's. The fix switches to macOS audit tokens (audit_token_t), retrieved via task_name_for_pid() and TASK_AUDIT_TOKEN, which are bound to a single process instance incorporating a per-exec version counter and cannot be spoofed by PID reuse or exec-into-different-image attacks. The lookup attribute changes from kSecGuestAttributePid to kSecGuestAttributeAudit. CPE cpe:2.3:a:electron:electron covers all affected npm/electron package versions prior to the patched releases.
Know when Electron gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
Local-only TOCTOU race requires PR:L account and AC:H timing; C:H and I:H reflect TCC and keychain inheritance; no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.8, 40.9.0, 41.2.1, and 42.0.0-beta.3, the check Electron uses on macOS to confirm it was launched by a same-signed parent process could be bypassed by a local process. Apps that enable fuse-based hardening restricting ELECTRON_RUN_AS_NODE and NODE_OPTIONS to same-signed parents rely on this check, and a local attacker could bypass it and run code inside the signed app, inheriting its TCC permissions and keychain access. This issue is fixed in 39.8.8, 40.9.0, 41.2.1, and 42.0.0-beta.3.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
GitHub Electron versions 1.8.2-beta.3 and earlier, 1.7.10 and earlier, 1.6.15 and earlier has a vulnerability in the pro
Remote code execution in 5ire 0.15.2 and earlier arises because the desktop AI assistant renders Mermaid diagrams with s
Cross-site scripting in DeepChat's Mermaid diagram renderer escalates to full remote code execution on affected desktop
Remote code execution in DeepChat 0.5.1 and below is possible through a cross-site scripting flaw in Mermaid diagram ren
Stored cross-site scripting in SiYuan through 3.8.4 lets an attacker who can set a notebook name containing an HTML payl
GitHub Electron before 1.6.8 allows remote command execution because of a nodeIntegration bypass vulnerability. Rated hi
GitHub Electron 1.7.15, 1.8.7, 2.0.7, and 3.0.0-beta.6, in certain scenarios involving IFRAME elements and "nativeWindow
Electron version 1.7 up to 1.7.12; 1.8 up to 1.8.3 and 2.0.0 up to 2.0.0-beta.3 contains an improper handling of values
electron-updater allows for automatic updates for Electron apps. Rated high severity (CVSS 7.5), this vulnerability is r
Cross-origin read bypass in Electron's custom protocol handler exposes sensitive application data to remote pages via fe
Native code execution outside the Chromium sandbox is achievable in Electron prior to 39.8.9, 40.9.2, 41.2.1, and 42.0.0
In Electron before versions 7.2.4, 8.2.4, and 9.0.0-beta21, there is a context isolation bypass. Rated critical severity
EUVD-2026-53403
GHSA-jm7p-cc5g-qwxx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB