Description
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.1, 40.8.0, and 41.0.0-beta.8, apps that use the powerMonitor module may be vulnerable to a use-after-free. After the native PowerMonitor object is garbage-collected, the associated OS-level resources (a message window on Windows, a shutdown handler on macOS) retain dangling references. A subsequent session-change event (Windows) or system shutdown (macOS) dereferences freed memory, which may lead to a crash or memory corruption. All apps that access powerMonitor events (suspend, resume, lock-screen, etc.) are potentially affected. The issue is not directly renderer-controllable. This issue has been patched in versions 38.8.6, 39.8.1, 40.8.0, and 41.0.0-beta.8.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| electron | electron | < 38.8.6, >= 39.0.0-alpha.1, < 39.8.1, >= 40.0.0-alpha.1, < 40.8.0, >= 41.0.0-alpha.1, < 41.0.0-beta.8 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | electron | < 38.8.6 | 38.8.6 | GHSA-jjp3-mq3x-295m |
| npm | electron | >= 39.0.0-alpha.1, < 39.8.1 | 39.8.1 | GHSA-jjp3-mq3x-295m |
| npm | electron | >= 40.0.0-alpha.1, < 40.8.0 | 40.8.0 | GHSA-jjp3-mq3x-295m |
| npm | electron | >= 41.0.0-alpha.1, < 41.0.0-beta.8 | 41.0.0-beta.8 | GHSA-jjp3-mq3x-295m |