Skip to main content

Electron CVE-2026-113800

| EUVDEUVD-2026-107347 MEDIUM
Origin Validation Error (CWE-346)
2026-10-21 GitHub_M GHSA-fw47-9c62-h3vw
5.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Load untrusted content in delegated cross-origin iframe
  2. Delivery
    Iframe requests hid/usb device access
  3. Exploit
    Permission check receives top-level origin instead of iframe origin
  4. Execution
    Origin-based logic grants access to embedded frame
  5. Impact
    Untrusted frame reads/writes connected device

Vulnerability Assessment

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

Exploitation requires a very specific application configuration, all of which must be true: (1) the Electron app delegates the 'hid' or 'usb' permission to a cross-origin, untrusted iframe (via permissions policy); (2) the app's setPermissionCheckHandler grants device access using origin-based logic (trusting the reported origin); and (3) the app runs a version prior to 42.11.3, 43.7.0, 44.3.0, or 45.0.0-alpha.5. The flaw is that the handler received the top-level frame's origin/details instead of the requesting iframe's. Limiting factors: this is not a default configuration - most applications do not expose HID/USB to untrusted embedded content; a vulnerable HID/USB device must also be connected and accessible for impact to be realized. Apps that make device decisions on requestingOrigin correctly or do not delegate these permissions are unaffected.

Impact

This is a genuine but narrowly-scoped origin-validation flaw (CWE-346), not a broad critical. The provided CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N = 5.4 Medium) is internally consistent with the description: the attack rides on web content loaded in an iframe (AV:N), requires no authentication (PR:N) or user interaction (UI:N), but carries High attack complexity (AC:H) because the victim application must have explicitly delegated hid/usb to a cross-origin untrusted iframe AND implemented device-access decisions using origin-based logic in setPermissionCheckHandler. The Scope:Changed and Low C/Low I with A:N are reasonable - the bug lets an embedded frame inherit the top-level page's device-access decision, exposing data from and commands to HID/USB devices, but not availability. No EPSS score, no CISA KEV entry, and no public exploit are present in the input, so exploitation status is 'no public exploit identified at time of analysis.' The signals do not conflict: a Medium CVSS, absence of KEV/POC, and a precondition-heavy exploitation path all point to a low real-world priority - patch on normal cadence rather than emergency. The dominant mitigating fact is that the vulnerable behavior only manifests in applications with an unusual and already-risky configuration (delegating device permissions to untrusted cross-origin iframes), which is not Electron's default.

Exploit ScenarioDerived

An Electron application embeds untrusted third-party web content in a cross-origin iframe and has delegated hid or usb permission to it, granting device access based on the requesting origin. Because the permission check incorrectly reports the top-level frame's origin instead of the iframe's, the embedded untrusted frame is treated as the trusted top-level page and is granted access to a connected HID or USB device. No public exploit code is identified at time of analysis, and the attack requires the application-specific delegation and origin-based logic to already be in place.

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

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

Alert me

AnalysisAIv1 – Oct 21, 2026

Electron's HID and USB permission checks mishandle the requesting frame's origin, so an app whose setPermissionCheckHandler authorizes devices by origin can be tricked into granting WebHID/WebUSB access to a cross-origin untrusted iframe that was never meant to receive it. Only applications that both delegate the 'hid' or 'usb' permission to an untrusted cross-origin frame via permissions policy and make device decisions on the reported origin are exposed, and a matching device must also be attached; default configurations are not affected. Unauthenticated remote attackers can trigger the logic remotely (CVSS 3.1 AV:N/PR:N), but with high attack complexity and low confidentiality/integrity impact scored at 5.4 with a scope change. No public exploit code and no confirmed active exploitation were identified at time of analysis; fixed in 42.11.3, 43.7.0, 44.3.0, and 45.0.0-alpha.5.

RemediationAI

Vendor-released patch: upgrade to Electron 42.11.3, 43.7.0, 44.3.0, or 45.0.0-alpha.5 (release tags v42.11.3, v43.7.0, v44.3.0, v45.0.0-alpha.5), and follow the GHSA-fw47-9c62-h3vw advisory; downstream applications must rebuild and reship their Electron binary since the fix lives in the runtime, not app code. Where upgrading is not immediately possible, stop delegating the 'hid' and 'usb' permissions to cross-origin or untrusted iframes via permissions policy - the trade-off is that legitimate embedded HID/USB flows stop working. As a second compensating control, harden setPermissionCheckHandler (and setPermissionRequestHandler) to authorize devices only when the check is made on behalf of the top-level document, rejecting requests where isMainFrame is false or where requestingOrigin differs from the app's own trusted origin; the trade-off is that any intentionally supported cross-origin device delegation is refused. Also verify the handler no longer derives trust from the webContents argument alone, since it is now documented to be the top-level WebContents for subframe checks, and audit any stored HID/USB grants created under the old behavior before considering them trustworthy.

Affected VersionsENISA

electron 43.0.0-alpha.1, < 43.7.0
electron < 42.11.3
electron 45.0.0-alpha.1, < 45.0.0-alpha.5
electron 44.0.0-alpha.1, < 44.3.0

Affected Packages

npm electron fix: 42.11.3, 43.7.0, 44.3.0, 45.0.0-alpha.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Electron wraps Chromium's content layer, where HidService and WebUsbServiceImpl are constructed with the primary main frame's committed origin rather than the requesting frame's origin. Because Electron grants, stores, checks, and revokes device permissions per requesting document, that mismatch meant every delegate call made on behalf of a document (CanRequestDevicePermission, HasDevicePermission, RevokeDevicePermission[WebInitiated], IsFidoAllowedForOrigin, AdjustProtectedInterfaceClasses) and the OnPermissionRevoked comparison operated on the top-level origin instead of the iframe's origin. The result is CWE-346 (Origin Validation Error): the embedder's setPermissionCheckHandler received the top-level frame's origin and details, so origin-based trust decisions were evaluated against the wrong principal, and a delegated cross-origin iframe could inherit device access intended for the top page. The upstream fixes add a RenderFrameHost* parameter to HidDelegate/UsbDelegate CanRequestDevicePermission so the 'can request' step matches the sibling methods that already take a frame, and key the HID/USB document services on the requesting frame's origin; Chrome's own delegates ignore the new argument, so the Electron-specific permission model is what the change targets. Documentation for session.setPermissionRequestHandler/setPermissionCheckHandler was updated to clarify that webContents is the top-level WebContents for subframe checks and that requestingOrigin, requestingUrl, and isMainFrame must be used to identify the asking frame.

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

Vendor (GitHub_M) PRIMARY 5.4 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 5.4 MEDIUM

Web-delivered (AV:N) with no auth or interaction, but AC:H because the app must delegate hid/usb to an untrusted iframe and use origin-based grants; S:C as it crosses the frame origin boundary, C:L/I:L for device read/write, A:N.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 18:03 EUVD
CVE Published
Oct 21, 2026 - 16:16 cve.org
MEDIUM 5.4

DescriptionCVE.org

Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 42.11.3, 43.7.0, 44.3.0, and 45.0.0-alpha.5, hid and usb permission checks made from an iframe caused setPermissionCheckHandler to receive the top-level frame's origin and details instead of the requesting frame's. An application that delegated hid or usb to a cross-origin untrusted iframe and allowed device access with origin-based logic could therefore grant that embedded frame access intended for the top-level page. This issue is fixed in versions 42.11.3, 43.7.0, 44.3.0, and 45.0.0-alpha.5.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
High
Electron framework underpins many widely-deployed desktop applications
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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.2%
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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
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.

CVE-2018-1000006 HIGH POC
8.8 Jan 24

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

CVE-2025-68669 CRITICAL POC
9.6 Dec 23

Remote code execution in 5ire 0.15.2 and earlier arises because the desktop AI assistant renders Mermaid diagrams with s

CVE-2025-67744 CRITICAL POC
9.6 Dec 16

Cross-site scripting in DeepChat's Mermaid diagram renderer escalates to full remote code execution on affected desktop

CVE-2025-66481 CRITICAL POC
9.6 Dec 09

Remote code execution in DeepChat 0.5.1 and below is possible through a cross-site scripting flaw in Mermaid diagram ren

CVE-2026-93922 HIGH POC
8.6 Sep 18

Stored cross-site scripting in SiYuan through 3.8.4 lets an attacker who can set a notebook name containing an HTML payl

CVE-2017-12581 HIGH POC
8.1 Aug 06

GitHub Electron before 1.6.8 allows remote command execution because of a nodeIntegration bypass vulnerability. Rated hi

CVE-2018-15685 HIGH POC
8.1 Aug 23

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

CVE-2018-1000136 HIGH POC
8.1 Mar 23

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

CVE-2024-39698 HIGH POC
7.5 Jul 09

electron-updater allows for automatic updates for Electron apps. Rated high severity (CVSS 7.5), this vulnerability is r

CVE-2026-70604 HIGH POC
7.4 Aug 05

Cross-origin read bypass in Electron's custom protocol handler exposes sensitive application data to remote pages via fe

CVE-2026-70611 MEDIUM POC
6.9 Aug 05

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

CVE-2020-4077 CRITICAL
9.9 Jul 07

In Electron before versions 7.2.4, 8.2.4, and 9.0.0-beta21, there is a context isolation bypass. Rated critical severity

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