Electron — это платформа для написания кроссплатформенных настольных приложений с использованием JavaScript, HTML и CSS. До версий 38.8.6, 39.8.1, 40.8.0 и 41.0.0-beta.8 приложения, использующие модуль powerMonitor, могут быть уязвимы к использованию после освобождения. После того как собственный объект PowerMonitor будет очищен от мусора, связанные ресурсы уровня ОС (окно сообщения в Windows, обработчик завершения работы в macOS) сохраняют висячие ссылки.
Последующее событие изменения сеанса (Windows) или завершение работы системы (macOS) разыменовывает освобожденную память, что может привести к сбою или повреждению памяти. Это потенциально затрагивает все приложения, которые получают доступ к событиям powerMonitor (приостановка, возобновление, блокировка экрана и т. д.). Проблема не контролируется напрямую рендерером.
Эта проблема исправлена в версиях 38.8.6, 39.8.1, 40.8.0 и 41.0.0-beta.8.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1