Packages / electron / Security
Electron: Use-after-free in PowerMonitor on Windows and macOS
Affected releases · electron
- 40.x40.0.0 – 40.7.0Fixed in 40.8.0
- 39.x39.0.0 – 39.8.0Fixed in 39.8.1
- 38.x38.0.0 – 38.8.4Fixed in 38.8.6
- 37.x37.0.0 – 37.10.3No fix on this line yet
- 36.x and older0.1.0 – 36.9.5No fix, no longer updated
On 40.x, the newest line:
npm install electron@40.8.0Not affected
45.0.0
1 release, latest
Affected
40.0.0 – 40.7.0
10 releases
Fixed
40.8.0 – 40.10.6
16 releases
Affected
39.0.0 – 39.8.0
21 releases
Fixed
39.8.1 – 39.8.10
10 releases
Affected
38.0.0 – 38.8.4
18 releases
Fixed
38.8.6
1 release
Affected
37.0.0 – 37.10.3
24 releases
Affected
36.0.0 – 36.9.5
23 releases
Affected
35.0.0 – 35.7.5
22 releases
Affected
34.0.0 – 34.5.8
22 releases
Affected
33.0.0 – 33.4.11
21 releases
Affected
32.0.0 – 32.3.3
19 releases
Affected
31.0.0 – 31.7.7
19 releases
Affected
30.0.0 – 30.5.1
19 releases
Affected
29.0.0 – 29.4.6
20 releases
Affected
28.0.0 – 28.3.3
21 releases
Affected
27.0.0 – 27.3.11
25 releases
Affected
26.0.0 – 26.6.10
24 releases
Affected
25.0.0 – 25.9.8
26 releases
Affected
24.0.0 – 24.8.8
29 releases
Affected
23.0.0 – 23.3.13
25 releases
Affected
22.0.0 – 22.3.27
33 releases
Affected
21.0.0 – 21.4.4
18 releases
Affected
20.0.0 – 20.3.12
23 releases
Affected
19.0.0 – 19.1.9
28 releases
Affected
18.0.0 – 18.3.15
25 releases
Affected
17.0.0 – 17.4.11
20 releases
Affected
16.0.0 – 16.2.8
22 releases
Affected
15.0.0 – 15.5.7
24 releases
Affected
14.0.0 – 14.2.9
15 releases
Affected
13.0.0 – 13.6.9
29 releases
Affected
12.0.0 – 12.2.3
26 releases
Affected
11.0.0 – 11.5.0
27 releases
Affected
10.0.0 – 10.4.7
22 releases
Affected
9.0.0 – 9.4.4
22 releases
Affected
8.0.0 – 8.5.5
25 releases
Affected
7.0.0 – 7.3.3
26 releases
Affected
6.0.0 – 6.1.12
26 releases
Affected
5.0.0 – 5.0.13
14 releases
Affected
4.0.0 – 4.2.12
28 releases
Affected
3.0.0 – 3.1.13
31 releases
Affected
2.0.0 – 2.0.18
19 releases
Affected
1.3.1 – 1.8.8
79 releases
Affected
0.1.0 – 0.4.1
8 releases
Is your project affected?
Paste your package.json, or type the range you declare for electron. It is read in your browser and sent nowhere.
What happens
Impact
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.
Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
41.0.0-beta.840.8.039.8.138.8.6
For more information
If there are any questions or comments about this advisory, please email security@electronjs.org