CVE-2021-39184
mediumpriority · track · 34OT risk · elevatedEPSS 0.011 · 64 %ileEURUUSEPSS · scored 2026-10-27
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. A vulnerability in versions prior to 11.5.0, 12.1.0, and 13.3.0 allows a sandboxed renderer to request a "thumbnail" image of an arbitrary file on the user's system. The thumbnail can potentially include significant parts of the original file, including textual data in many cases. Versions 15.0.0-alpha.10, 14.0.0, 13.3.0, 12.1.0, and 11.5.0 all contain a fix for the vulnerability. Two workarounds aside from upgrading are available. One may make the vulnerability significantly more difficult for an attacker to exploit by enabling `contextIsolation` in one's app. One may also disable the functionality of the `createThumbnailFromPath` API if one does not need it.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · medium–high · 5–8.6
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (16)
Products and version ranges known to be affected.
advisories (1)
Vendor and ecosystem advisories describing this.
- GHSA-mpjm-v997-c4h4Electron's sandboxed renderers can obtain thumbnails of arbitrary files through the nativeImage API2021-10-12ghsa · osvUS
### Impact This vulnerability allows a sandboxed renderer to request a "thumbnail" image of an arbitrary file on the user's system. The thumbnail can potentially include significant parts of the original file, including textual data in many cases. All current stable versions of Electron are affected. ### Patches This was fixed with #30728, and the following Electron versions contain the fix: - 15.0.0-alpha.10 - 14.0.0 - 13.3.0 - 12.1.0 - 11.5.0 ### Workarounds If your app enables `contextIsolation`, this vulnerability is significantly more difficult for an attacker to exploit. Further, if your app does not depend on the `createThumbnailFromPath` API, then you can simply disable the functionality. In the main process, before the 'ready' event: ```js delete require('electron').nativeImage.createThumbnailFromPath ``` ### For more information If you have any questions or comments about this advisory, email us at [security@electronjs.org](mailto:security@electronjs.org).
also known as (4)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (7)
External citations — patches, advisories, analysis.
- https://github.com/electron/electron/pull/30728cnnvd
- https://github.com/electron/electron/security/advisories/GHSA-mpjm-v997-c4h4cnnvd
- https://nvd.nist.gov/vuln/detail/CVE-2021-39184cnnvd
- https://github.com/electron/electron/pull/30728enisa_euvd
- https://github.com/electron/electron/security/advisories/GHSA-mpjm-v997-c4h4enisa_euvd
- https://github.com/electron/electron/pull/30728Third Party Advisorynvd
- https://github.com/electron/electron/security/advisories/GHSA-mpjm-v997-c4h4MitigationThird Party Advisorynvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan