Skip to main content

Electron EUVDEUVD-2026-53428

| CVE-2026-70599 MEDIUM
Origin Validation Error (CWE-346)
2026-08-05 https://github.com/electron/electron GHSA-9pf5-hg6p-4pwp
5.9
CVSS 3.1 · Vendor: https://github.com/electron/electron
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker controls cross-origin iframe content
  2. Delivery
    App embeds iframe with delegated camera, microphone, or serial permissions
  3. Exploit
    Iframe requests device access via browser API
  4. Execution
    Electron passes top-level frame origin as requestingOrigin to permission handler
  5. Persist
    Origin-based handler incorrectly grants permission to cross-origin iframe
  6. Impact
    Attacker iframe gains unauthorized device access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
Exploitation Conditions

Exploitation requires all three of the following conditions simultaneously: (1) the Electron application installs a session.setPermissionCheckHandler that makes grant or deny decisions based on the requestingOrigin parameter - applications that base decisions on details.securityOrigin are explicitly not affected; (2) the application embeds at least one cross-origin iframe, meaning an iframe whose committed origin differs from the top-level page's origin; and (3) that cross-origin iframe is granted delegated device permissions for serial port, camera, or microphone access via Permissions Policy (e.g., the iframe allow attribute includes camera, microphone, or serial). If any single condition is absent the application is not vulnerable. These preconditions align with the CVSS AC:H rating and the vendor's explicit scope statement. Limiting factors: requires a specific, non-default application architecture; does not affect Electron apps that use details.securityOrigin, that do not embed cross-origin iframes, or that do not delegate device permissions to iframes.

Impact

The CVSS 5.9 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N) accurately models this vulnerability. AC:H is justified by the three concurrent preconditions required for exploitation (see exploitation_conditions). C:H is appropriate given that camera, microphone, and serial device access constitute high-sensitivity data streams. No EPSS score was included in the source data, so exploitation probability cannot be quantified beyond CVSS signals. KEV status is not confirmed and no public POC has been identified - these signals together suggest this has not yet been weaponized at scale. Real-world risk is meaningful for high-value Electron applications (chat clients, IDEs, collaboration tools) that embed third-party iframe content with media delegation, but the vendor's explicit scope limitation - apps not using origin-based handler logic or not embedding such iframes are unaffected - substantially narrows the exposed population. No conflicting signals are present in the available data.

Exploit ScenarioDerived

An attacker who controls content served from a cross-origin domain is embedded as an iframe inside a trusted Electron application (for example, a third-party analytics widget or help-center panel). The app's setPermissionCheckHandler grants camera access when requestingOrigin matches the trusted top-level origin; because the bug causes Electron to forward the top-level origin for the iframe's media request, the handler approves it. The attacker's iframe silently gains camera or microphone access without holding the trusted origin, enabling audio/video capture of the user's environment.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 05, 2026

Electron's permission check handler incorrectly exposes cross-origin iframes to unauthorized camera, microphone, and serial port access by passing the top-level frame's origin as requestingOrigin instead of the requesting iframe's own origin. Applications implementing session.setPermissionCheckHandler with origin-based grant logic that also embed cross-origin iframes with delegated device permissions are affected - the handler is deceived into approving the iframe's request as if it came from the trusted top-level origin. No public exploit code exists and CISA KEV listing is not confirmed; the CVSS score of 5.9 with AC:H accurately reflects the specific multi-condition deployment pattern required for exploitation.

RemediationAI

Upgrade Electron to a patched release matching your current branch: v39.8.7, v40.9.0, v41.2.0, or v42.0.0-beta.1. The upstream code fix is in commit 0cbdf2f0375466d701aa393c92e0ec29eb89ea6c (https://github.com/electron/electron/commit/0cbdf2f0375466d701aa393c92e0ec29eb89ea6c). If an immediate upgrade is not feasible, the vendor-documented workaround is to replace all references to requestingOrigin in setPermissionCheckHandler callbacks with details.securityOrigin, which correctly reflects the requesting iframe's origin and is not affected by this bug - this change is backward compatible and has no known side effects. Alternatively, removing delegated device permissions from cross-origin iframes (by eliminating allow="camera; microphone" or serial Permissions Policy attributes) eliminates the attack surface entirely without requiring an Electron version change, though it also removes the intended iframe device access functionality. Advisory: https://github.com/electron/electron/security/advisories/GHSA-9pf5-hg6p-4pwp.

Affected VersionsENISA

electron 42.0.0-alpha.1, < 42.0.0-beta.1
electron 40.0.0-alpha.1, < 40.9.0
electron < 39.8.7
electron 41.0.0-alpha.1, < 41.2.0

Affected Packages

npm electron fix: 39.8.7, 40.9.0, 41.2.0, 42.0.0-beta.1
euvd electron_40_0_0_alpha_1 fix: 40.9.0
euvd electron_41_0_0_alpha_1 fix: 41.2.0
euvd electron_42_0_0_alpha_1 fix: 42.0.0-beta.1

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

The root cause (CWE-346, Origin Validation Error) lies in Electron's C++ permission-handling layer within shell/browser/web_contents_permission_helper.cc. Prior to the fix, CheckMediaAccessPermission and CheckSerialAccessPermission resolved the permission principal by calling web_contents_->GetPrimaryMainFrame() and web_contents_->GetLastCommittedURL() - always returning the top-level WebContents frame regardless of which RenderFrameHost actually initiated the permission request. The fix (commit 0cbdf2f) threads the requesting RenderFrameHost* through the entire permission check chain (CheckPermission, CheckMediaAccessPermission, CheckSerialAccessPermission) so that requesting_frame->GetLastCommittedOrigin().GetURL() is used, correctly identifying the iframe's security principal. Affected product: pkg:npm/electron across all release branches.

Know when the next one hits your stack

  • 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

Vendor (https://github.com/electron/electron) PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 5.9 MEDIUM

AC:H reflects three required preconditions; C:H covers camera, microphone, and serial device streams; no integrity or availability impact applies.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (https://github.com/electron/electron).

CVSS VectorVendor: https://github.com/electron/electron

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

Impact

For serial-port and media (camera / microphone) permission checks made from an iframe, the requestingOrigin passed to session.setPermissionCheckHandler was the top-level frame's origin rather than the requesting frame's. Origin-based handler logic could therefore grant a cross-origin iframe device access intended only for the top-level origin.

Apps are only affected if they use setPermissionCheckHandler with origin-based logic and embed cross-origin iframes with delegated device permissions. Apps that base the decision on details.securityOrigin, or that do not embed such iframes, are not affected.

Workarounds

Check details.securityOrigin instead of requestingOrigin for these permissions, or do not delegate device permissions to untrusted iframes.

Fixed Versions

  • 42.0.0-beta.1
  • 41.2.0
  • 40.9.0
  • 39.8.7

For more information

If you have any questions or comments about this advisory, email Electron at [security@electronjs.org](mailto:security@electronjs.org)

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
High
widely used cross-platform desktop framework powering Slack, VS Code, Discord
Threat Intel
1
1 sources
Data Quality
7 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy