Skip to main content

Electron EUVDEUVD-2026-107369

| CVE-2026-113797 LOW
Missing Authorization (CWE-862)
2026-10-21 GitHub_M GHSA-98mx-cjp9-gchm
3.1
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 extension via loadExtension
  2. Exploit
    Extension calls chrome.tabs.query()
  3. Execution
    Receive url/title without tabs/host permission
  4. Impact
    Exfiltrate session browsing data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the Electron application itself load an extension it does not fully trust through session.extensions.loadExtension, AND that the extension holds neither the 'tabs' permission nor matching host permissions. Under those conditions the extension can call chrome.tabs.query() and read the url and title of every webContents in that session. Limiting factors: this is NOT a default or remote-attacker path - the hosting app must explicitly opt into loading untrusted/third-party extensions, which the vast majority of Electron apps never do; the affected versions must predate 42.11.1 / 43.5.1 / 44.1.1 / 45.0.0-alpha.4; and the disclosed data is limited to tab URLs and titles (no page content, DOM, cookies, or code execution).

Impact

This is a genuinely low-priority issue, and the available signals are consistent in pointing that way rather than conflicting. The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N, base 3.1 Low) reflects a limited information-disclosure flaw: only Confidentiality is affected, and only at Low (tab URLs and titles - no page content, no code execution). No EPSS score, CISA KEV listing, or public POC was provided, so exploitation status is 'no public exploit identified at time of analysis'; absence of these is unsurprising for a low-impact authorization gap. The vector marks PR:N (the malicious extension deliberately holds NO privileges - that is the essence of the bug) and UI:R plus AC:H, which correctly capture the real gating condition: a developer/operator must have loaded an extension they do not fully trust via session.extensions.loadExtension. The CWE-862 (Missing Authorization) classification matches the root cause shown in the patch - chrome.tabs.query() populated title/url before checking the kTab permission or host permission. One caveat to verify: the input Tags label this 'Authentication Bypass,' but it is an authorization (permission-enforcement) failure, not authentication bypass. Net: a real but minor defense-in-depth fix, not an urgent patch-now vulnerability except for the narrow population of apps that load untrusted extensions.

Exploit ScenarioDerived

An Electron application loads a third-party extension it does not fully trust via session.extensions.loadExtension, granting it neither the 'tabs' permission nor any host permissions. The extension calls chrome.tabs.query({}) and, due to the missing authorization check, receives the url and title of every webContents in that session - effectively a browsing-history/activity leak to code that should have been blind to it. No public exploit code was identified at time of analysis; the fix enforces CanAccessPrivilegedTabFields() before returning those properties.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.5% 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 chrome.tabs.query() implementation returned the url and title of every tab in a session to extensions that held neither the 'tabs' permission nor a matching host permission, letting a loaded extension enumerate the URLs and titles of all webContents in that session. Only applications that explicitly pull in extensions they do not fully trust via session.extensions.loadExtension are exposed, and only on builds prior to 42.11.1, 43.5.1, 44.1.1, and 45.0.0-alpha.4; unauthenticated remote attackers cannot reach the flaw without such an extension already running inside the app. The disclosed data is limited to tab URLs and titles (no page content, DOM, cookies, or code execution), no public exploit code was identified at time of analysis, and the issue does not appear on CISA KEV, consistent with its low CVSS 3.1 score.

RemediationAI

Upgrade to Electron 42.11.1, 43.5.1, 44.1.1, or 45.0.0-alpha.4 (or later); these are vendor-released patches, and the corresponding PRs #52597, #53353, #53354, #53355, and #53356 are referenced from advisory GHSA-98mx-cjp9-gchm and the release tags. If an upgrade cannot be shipped immediately, the effective compensating control is to stop calling session.extensions.loadExtension with extensions that are not fully trusted - bundle only first-party extensions, pin and review any third-party extension manifests, and verify at load time that each extension either genuinely needs the 'tabs' permission or is confined to origins it is allowed to see. Trade-off: granting the 'tabs' permission to an extension makes the leak 'authorized' rather than fixing it, so it should only be done for extensions that legitimately require full tab metadata, and host-scoping an extension narrows the disclosure to those origins at the cost of breaking functionality on other sites. Because the leaked data is limited to tab URLs and titles, blocking loadExtension for untrusted code removes the exposure entirely without affecting normal BrowserWindow/webContents rendering.

Affected VersionsENISA

electron 45.0.0-alpha.1, < 45.0.0-alpha.4
electron < 42.11.1
electron 43.0.0-alpha.1, < 43.5.1
electron 44.0.0-alpha.1, < 44.1.1

Affected Packages

npm electron fix: 42.11.1, 43.5.1, 44.1.1, 45.0.0-alpha.4

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 reimplements Chromium's extension APIs in C++ under shell/browser/extensions/api/tabs/tabs_api.cc, where tab 'url' and 'title' are treated as privileged fields gated by the 'tabs' API permission or a host permission covering the tab's origin. The root cause is CWE-862 (Missing Authorization): TabsQueryFunction only applied the permission check inside the url_patterns branch, so a query with an empty pattern list - chrome.tabs.query({}) - bypassed the gate entirely and the handler still populated tab.title and tab.url for every WebContents in the session. The fix factors the check into a shared CanAccessPrivilegedTabFields() helper that tests HasAPIPermissionForTab(kTab) or HasHostPermission() against the last committed URL, uses it to decide whether a tab matches at all, and only assigns title/url when privileged access is confirmed; the same helper is now applied to TabsGetFunction and TabsUpdateFunction, which had similar logic, and matching was switched to the committed URL. Regression coverage was added in spec/extensions-spec.ts using a no-privileges chrome-tabs fixture that calls query and asserts the returned tabs expose only numeric ids. The affected component is Electron's own extension host (session.extensions.loadExtension), not upstream Chromium's extension system, which already enforced this separation.

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 3.1 LOW
AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
vuln.today AI 3.1 LOW

The malicious extension legitimately holds no permissions (PR:N), but an operator must first load an untrusted extension (UI:R, AC:H), and only tab url/title leak (C:L, I:N, A:N).

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:A/VC:L/VI:N/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
Required
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 18:03 EUVD
CVE Published
Oct 21, 2026 - 16:09 cve.org
LOW 3.1

DescriptionCVE.org

Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 42.11.1, 43.5.1, 44.1.1, and 45.0.0-alpha.4, chrome.tabs.query() returned each tab's url and title to extensions that had neither the tabs permission nor matching host permissions. An application that loaded an extension it did not fully trust through session.extensions.loadExtension could therefore allow that extension to read the URL and title of every webContents in its session. This issue is fixed in versions 42.11.1, 43.5.1, 44.1.1, and 45.0.0-alpha.4.

Threat Intelligence Overview

EPSS Score
0.5%
Top 59% exploitable
Prevalence
High
Electron underpins a huge number of 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 LOW
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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