/

CVE-2026-102677

Severity:

HIGH RISK

(7.8)

Preload Cache Validation (CWE-345) in Electron Apps

CVE-2026-102677

Analyzed

Vulnerability type

Category:

Insufficient Verification of Data Authenticity

CWE:

CWE-20, CWE-345

Impact:

Privilege Boundary Bypass and Code Execution

Severity:

HIGH RISK

(7.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Electron contained an integrity-validation weakness in the sandboxed preload code cache, allowing cached data to be reused without confirming that it belonged to the requested preload.

When an application loads untrusted content and a compromised renderer can influence cache data, renderer-controlled code may execute in the more privileged preload context.

Affected context

The issue occurs in Electron applications that use sandboxed preload scripts and load content that is not fully trusted. It becomes risky when a renderer can write or influence preload code-cache data and a later load accepts that cached entry without verifying its association with the intended preload.

Exploit preconditions

  • Attack surface: Electron renderer and sandboxed preload code-cache handling
  • Required access: Ability to control or influence content executed in a renderer that can affect cache data
  • Trigger point: A later preload load that reuses a cached entry
  • Why exploitation is possible: The cache association is not adequately verified, allowing renderer-controlled data to be treated as code for a more privileged preload context

Why this happens

The underlying bug is insufficient verification of data authenticity and identity before reuse. Electron's cache-loading logic did not reliably confirm that a cached entry matched the preload script being served, allowing data associated with one context to be accepted in another.

This maps primarily to CWE-345: Insufficient Verification of Data Authenticity, with CWE-20: Improper Input Validation also relevant because cache metadata and contents were not sufficiently validated before use.

Potential impact

  • Renderer-controlled code may execute in a more privileged preload context
  • An attacker could bypass intended renderer-to-preload isolation
  • Application data or privileged APIs may be exposed
  • The affected desktop application could experience unauthorized actions or code execution

General mitigation guidance

Mitigation generally focuses on preserving strict trust boundaries between renderers, preload scripts, and cached code.

Common defensive patterns include:

  • Ensuring cached entries are cryptographically or contextually bound to the exact preload they represent
  • Rejecting cache data when identity, origin, metadata, or integrity checks do not match
  • Limiting applications' exposure to untrusted remote content
  • Keeping privileged APIs narrowly scoped and unavailable to untrusted renderers
  • Applying least privilege to preload capabilities and operating-system integrations
  • Using secure-by-default renderer isolation and restrictive content policies where practical

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis and code review of cache lookup, serialization, and validation logic
  • Review signals showing cache keys or metadata are trusted without binding them to the requested resource
  • Tests that attempt mismatched, stale, or renderer-influenced cache entries
  • Policy enforcement requiring integrity and origin validation before privileged code reuse
  • Runtime monitoring for unexpected preload behavior or privileged API use originating from untrusted content

Automated security review tools may help identify missing validation around cache boundaries, although application-specific testing remains important.

Sources

SourceLink
github.comgithub.com/electron/electron/commit/000453e399bd1dee5e86376cdd9ece5fc071e601
github.comgithub.com/electron/electron/commit/25ba8be57c65a83d8c14ebb8aa37693df17a04f3
github.comgithub.com/electron/electron/commit/c38d6fd68756f04647ea857bdb6a2abec332e217
github.comgithub.com/electron/electron/pull/52480
github.comgithub.com/electron/electron/releases/tag/v42.10.0
github.comgithub.com/electron/electron/releases/tag/v43.5.0
github.comgithub.com/electron/electron/releases/tag/v44.0.0-beta.6
github.comgithub.com/electron/electron/security/advisories/GHSA-qmv3-fv6v-rmhq

Frequently asked

questions

It can become exploitable when an Electron application loads untrusted content and that content can influence renderer behavior or cache data. Exploitability depends on the application's architecture and exposed capabilities.

Not necessarily. The relevant condition is the ability of a compromised renderer to influence cache data and trigger a later preload load; direct filesystem access is not the general prerequisite.

Use cache entries only after verifying that their identity, origin, integrity, and associated preload exactly match the requested resource. Privileged preload capabilities should also remain narrowly restricted.

Treat renderer-controlled data and code-cache metadata as untrusted, enforce strong context binding before reuse, minimize privileged preload APIs, and test isolation boundaries with mismatched or tampered cache data.

Find out what's already
exploitable in your codebase.