electron@24.8.2 vulnerabilities

Build cross platform desktop apps with JavaScript, HTML, and CSS

Direct Vulnerabilities

Known vulnerabilities in the electron package. This does not include vulnerabilities belonging to this package’s dependencies.

Automatically find and fix vulnerabilities affecting your projects. Snyk scans for vulnerabilities and provides fixes for free.
Fix for free
Vulnerability Vulnerable Version
  • H
Privilege Context Switching Error

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Privilege Context Switching Error in libuv's handling of io_uring operations called before calling setuid(). This allows users to elevate privileges.

How to fix Privilege Context Switching Error?

Upgrade electron to version 29.4.0 or higher.

<29.4.0
  • H
Out-of-Bounds

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Out-of-Bounds memory access in V8 component. This vulnerability allowed a remote attacker to perform arbitrary read/write via a crafted HTML page.

How to fix Out-of-Bounds?

Upgrade electron to version 27.3.10, 28.3.0 or higher.

<27.3.10 >=28.0.0 <28.3.0
  • M
Integer Overflow or Wraparound

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Integer Overflow or Wraparound when decoding videos with a large frame size. An attacker can cause memory corruption within the AV1 decoder by providing a specially crafted video file.

How to fix Integer Overflow or Wraparound?

Upgrade electron to version 27.3.11, 28.3.1 or higher.

<27.3.11 >=28.0.0 <28.3.1
  • H
Out-of-bounds Write

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Out-of-bounds Write in the Compositing process. An attacker can potentially perform a sandbox escape by exploiting specific UI gestures. This is only exploitable if the attacker has already compromised the GPU process.

How to fix Out-of-bounds Write?

Upgrade electron to version 27.3.11, 28.3.1, 29.3.1 or higher.

<27.3.11 >=28.0.0 <28.3.1 >=29.0.0 <29.3.1
  • H
Heap-based Buffer Overflow

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Heap-based Buffer Overflow in the ANGLE component. An attacker can potentially exploit heap corruption through a crafted HTML page.

How to fix Heap-based Buffer Overflow?

Upgrade electron to version 27.3.11, 28.3.1, 29.3.1 or higher.

<27.3.11 >=28.0.0 <28.3.1 >=29.0.0 <29.3.1
  • H
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free due to improper handling of objects in memory in the Dawn component. An attacker can cause heap corruption and potentially execute arbitrary code by convincing a user to visit a specially crafted HTML page.

How to fix Use After Free?

Upgrade electron to version 27.3.11, 28.3.1, 29.3.1 or higher.

<27.3.11 >=28.0.0 <28.3.1 >=29.0.0 <29.3.1
  • H
Improper Restriction of Operations within the Bounds of a Memory Buffer

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Improper Restriction of Operations within the Bounds of a Memory Buffer due to an inappropriate implementation in the V8 engine. An attacker can potentially perform out of bounds memory access by crafting a malicious HTML page.

How to fix Improper Restriction of Operations within the Bounds of a Memory Buffer?

Upgrade electron to version 29.3.0 or higher.

<29.3.0
  • H
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free due to improper handling in the WebCodecs component. An attacker can achieve arbitrary read/write access by crafting a malicious HTML page.

How to fix Use After Free?

Upgrade electron to version 27.3.9, 28.2.10, 29.2.0 or higher.

<27.3.9 >=28.0.0-alpha.1 <28.2.10 >=29.0.0-alpha.1 <29.2.0
  • C
Type Confusion

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Type Confusion due to a flaw in the WebAssembly component. An attacker can execute arbitrary code on the victim's machine by convincing them to visit a maliciously crafted HTML page.

How to fix Type Confusion?

Upgrade electron to version 27.3.9, 28.2.10, 29.2.0 or higher.

<27.3.9 >=28.0.0-alpha.1 <28.2.10 >=29.0.0-alpha.1 <29.2.0
  • C
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free due to improper handling of objects in memory in the ANGLE graphics engine. An attacker can cause heap corruption and potentially execute arbitrary code by convincing a user to visit a specially crafted HTML page.

How to fix Use After Free?

Upgrade electron to version 27.3.9, 28.2.10, 29.2.0 or higher.

<27.3.9 >=28.0.0-alpha.1 <28.2.10 >=29.0.0-alpha.1 <29.2.0
  • H
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free due to the improper handling of objects in memory in the Dawn component. An attacker can potentially exploit heap corruption through a crafted HTML page.

How to fix Use After Free?

Upgrade electron to version 27.3.9, 28.2.10, 29.2.0 or higher.

<27.3.9 >=28.0.0-alpha.1 <28.2.10 >=29.0.0-alpha.1 <29.2.0
  • H
NULL Pointer Dereference

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to NULL Pointer Dereference in V8, due to an object lifecycle issue involving scope inheritance.

How to fix NULL Pointer Dereference?

Upgrade electron to version 27.3.8, 28.2.9, 29.1.6 or higher.

<27.3.8 >=28.0.0 <28.2.9 >=29.0.0 <29.1.6
  • H
Denial of Service (DoS)

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Denial of Service (DoS) via an Out of bounds memory access in V8.

How to fix Denial of Service (DoS)?

Upgrade electron to version 27.3.6, 28.2.7, 29.1.2 or higher.

<27.3.6 >=28.0.0-alpha.1 <28.2.7 >=29.0.0-alpha.1 <29.1.2
  • M
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free via the xmlTextReader module. An attacker can cause denial of service by processing crafted XML documents with DTD validation and XInclude expansion enabled.

How to fix Use After Free?

Upgrade electron to version 27.3.5, 28.2.6 or higher.

<27.3.5 >=28.0.0 <28.2.6
  • H
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free in Mojo runtime libraries collection. This allows an attacker to exploit heap corruption via a crafted HTML page.

How to fix Use After Free?

Upgrade electron to version 27.3.4, 28.2.5 or higher.

<27.3.4 >=28.0.0 <28.2.5
  • H
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free via the Web Audio feature. An attacker can potentially exploit heap corruption by crafting a malicious HTML page.

How to fix Use After Free?

Upgrade electron to version 26.6.8, 27.3.1 or higher.

<26.6.8 >=27.0.0 <27.3.1
  • H
Out-of-bounds Read

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Out-of-bounds Read allowing a remote attacker to exploit heap corruption via a crafted HTML page.

Note: The Stable channel has been updated to 120.0.6099.234 for Mac devices.

How to fix Out-of-bounds Read?

Upgrade electron to version 26.6.7 or higher.

<26.6.7
  • H
Out-of-bounds Write

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Out-of-bounds Write allowing a remote attacker to potentially exploit heap corruption via a crafted HTML page.

Note: The Stable channel has been updated to 120.0.6099.234 for Mac devices.

How to fix Out-of-bounds Write?

Upgrade electron to version 26.6.6, 27.2.3, 28.1.4 or higher.

<26.6.6 >=27.0.0 <27.2.3 >=28.0.0 <28.1.4
  • H
Type Confusion

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Type Confusion due to a type confusion in V8. A remote attacker could exploit heap corruption via a crafted HTML page.

Note: The Stable channel has been updated to 120.0.6099.234 for Mac devices.

How to fix Type Confusion?

Upgrade electron to version 26.6.6, 27.2.3, 28.1.4 or higher.

<26.6.6 >=27.0.0 <27.2.3 >=28.0.0 <28.1.4
  • H
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free via the WebGPU process. An attacker can potentially exploit heap corruption by crafting a malicious HTML page.

How to fix Use After Free?

Upgrade electron to version 26.6.5, 27.2.2 or higher.

<26.6.5 >=27.0.0 <27.2.2
  • H
Heap-based Buffer Overflow

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Heap-based Buffer Overflow in the ANGLE component.

How to fix Heap-based Buffer Overflow?

Upgrade electron to version 26.6.5, 27.2.2 or higher.

<26.6.5 >=27.0.0 <27.2.2
  • H
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free via the ANGLE component. An attacker can potentially exploit heap corruption by convincing a user to visit a crafted HTML page.

How to fix Use After Free?

Upgrade electron to version 26.6.5, 27.2.2 or higher.

<26.6.5 >=27.0.0 <27.2.2
  • H
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free via the WebAudio component. An attacker can potentially exploit heap corruption by convincing a user to visit a crafted HTML page.

How to fix Use After Free?

Upgrade electron to version 26.6.5, 27.2.2 or higher.

<26.6.5 >=27.0.0 <27.2.2
  • H
Heap-based Buffer Overflow

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Heap-based Buffer Overflow in the WebRTC framework, used to provide Real-Time Communications (RTC) capabilities via JavaScript APIs.

How to fix Heap-based Buffer Overflow?

Upgrade electron to version 26.6.3, 27.2.0, 28.1.0 or higher.

<26.6.3 >=27.0.0 <27.2.0 >=28.0.0 <28.1.0
  • H
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free via the Media Stream process. An attacker can potentially exploit heap corruption by crafting a malicious HTML page.

How to fix Use After Free?

Upgrade electron to version 26.6.3, 27.2.0 or higher.

<26.6.3 >=27.0.0 <27.2.0
  • M
Insufficient Verification of Data Authenticity

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Insufficient Verification of Data Authenticity when the embeddedAsarIntegrityValidation and onlyLoadAppFromAsar fuses are enabled.

An attacker can edit files inside the .app bundle on macOS, which these fuses are supposed to protect against, by gaining write access to the filesystem from which the app is launched.

Note

This is only exploitable if your app is launched from a filesystem the attacker has write access to and is specific to macOS, as these fuses are only supported on macOS.

How to fix Insufficient Verification of Data Authenticity?

Upgrade electron to version 22.3.24, 24.8.3, 25.8.1, 26.2.1 or higher.

<22.3.24 >=24.0.0-alpha.1 <24.8.3 >=25.0.0-alpha.1 <25.8.1 >=26.0.0-alpha.1 <26.2.1
  • H
Integer Overflow or Wraparound

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Integer Overflow or Wraparound in the USB component.

How to fix Integer Overflow or Wraparound?

Upgrade electron to version 25.9.4, 26.5.0, 27.0.4 or higher.

<25.9.4 >=26.0.0-alpha.1 <26.5.0 >=27.0.0-alpha.1 <27.0.4
  • H
Improper Input Validation

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Improper Input Validation in the USB component.

How to fix Improper Input Validation?

Upgrade electron to version 25.9.4, 26.5.0, 27.0.4 or higher.

<25.9.4 >=26.0.0-alpha.1 <26.5.0 >=27.0.0-alpha.1 <27.0.4
  • C
Heap-based Buffer Overflow

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Heap-based Buffer Overflow when the ReadHuffmanCodes() function is used. An attacker can craft a special WebP lossless file that triggers the ReadHuffmanCodes() function to allocate the HuffmanCode buffer with a size that comes from an array of precomputed sizes: kTableSize. The color_cache_bits value defines which size to use. The kTableSize array only takes into account sizes for 8-bit first-level table lookups but not second-level table lookups. libwebp allows codes that are up to 15-bit (MAX_ALLOWED_CODE_LENGTH). When BuildHuffmanTable() attempts to fill the second-level tables it may write data out-of-bounds. The OOB write to the undersized array happens in ReplicateValue.

Notes:

This is only exploitable if the color_cache_bits value defines which size to use.

This vulnerability was also published on libwebp CVE-2023-5129

Changelog:

2023-09-12: Initial advisory publication

2023-09-27: Advisory details updated, including CVSS, references

2023-09-27: CVE-2023-5129 rejected as a duplicate of CVE-2023-4863

2023-09-28: Research and addition of additional affected libraries

2024-01-28: Additional fix information

How to fix Heap-based Buffer Overflow?

Upgrade electron to version 22.3.24, 24.8.3, 25.8.1, 26.2.1, 27.0.0-beta.2 or higher.

>=22.0.0 <22.3.24 >=24.0.0 <24.8.3 >=25.0.0 <25.8.1 >=26.0.0 <26.2.1 >=27.0.0-beta.1 <27.0.0-beta.2
  • H
Improper Access Control

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Improper Access Control via nested unserializable return value when using contextIsolation and contextBridge are affected. Exploiting this vulnerability allows code running in the main world context in the renderer to reach into the isolated Electron context and perform privileged actions.

Note

This issue is exploitable under either of two conditions:

  1. If an API exposed to the main world via contextBridge can return an object or array that contains a JS object that cannot be serialized, such as a canvas rendering context. This would normally result in an Error: object could not be cloned exception being thrown.

  2. If an API exposed to the main world via contextBridge has a return value that throws a user-generated exception while being sent over the bridge, such as a dynamic getter property on an object that throws an error when being computed.

How to fix Improper Access Control?

Upgrade electron to version 23.2.3, 25.0.0-alpha.2 or higher.

<23.2.3 >=24.0.0-alpha.1 <25.0.0-alpha.2
  • H
Access of Resource Using Incompatible Type ('Type Confusion')

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Access of Resource Using Incompatible Type ('Type Confusion') in the V8 engine.

How to fix Access of Resource Using Incompatible Type ('Type Confusion')?

Upgrade electron to version 22.3.24, 24.8.3, 25.8.1 or higher.

>=22.0.0 <22.3.24 >=24.0.0 <24.8.3 >=25.0.0 <25.8.1
  • H
Use After Free

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Use After Free in the Networks component.

How to fix Use After Free?

Upgrade electron to version 24.8.3, 25.8.1 or higher.

>=24.0.0 <24.8.3 >=25.0.0 <25.8.1
  • H
Out-of-Bounds

electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

Affected versions of this package are vulnerable to Out-of-Bounds in the FedCM in Google Chrome.

How to fix Out-of-Bounds?

Upgrade electron to version 24.8.3, 25.8.1 or higher.

>=24.0.0 <24.8.3 >=25.0.0 <25.8.1