Electron — это платформа для написания кроссплатформенных настольных приложений с использованием JavaScript, HTML и CSS. До версий 38.8.6, 39.8.0, 40.7.0 и 41.0.0-beta.8 приложения, которые регистрируют асинхронный сеанс session.setPermissionRequestHandler(), могут быть уязвимы для использования после освобождения при обработке запросов разрешений на полноэкранный режим, блокировку указателя или блокировку клавиатуры. Если запрашивающий кадр перемещается или окно закрывается во время ожидания обработчика разрешений, вызов сохраненного обратного вызова разыменовывает освобождаемую память, что может привести к сбою или повреждению памяти.
Приложения, которые не устанавливают обработчик запроса разрешения или чей обработчик отвечает синхронно, не затрагиваются. Эта проблема исправлена в версиях 38.8.6, 39.8.0, 40.7.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.0, 40.7.0, and 41.0.0-beta.8, apps that register an asynchronous session.setPermissionRequestHandler() may be vulnerable to a use-after-free when handling fullscreen, pointer-lock, or keyboard-lock permission requests. If the requesting frame navigates or the window closes while the permission handler is pending, invoking the stored callback dereferences freed memory, which may lead to a crash or memory corruption. Apps that do not set a permission request handler, or whose handler responds synchronously, are not affected. This issue has been patched in versions 38.8.6, 39.8.0, 40.7.0, and 41.0.0-beta.8.
Характеристики атаки
Последствия
Строка CVSS v3.1