Electron — это платформа для написания кроссплатформенных настольных приложений с использованием JavaScript, HTML и CSS. До версий 39.8.1, 40.7.0 и 41.0.0 приложения, использующие внеэкранный рендеринг и разрешающие дочерние окна через window.open(), могут быть уязвимы для использования после освобождения. Если родительский закадровый веб-контент уничтожается, а дочернее окно остается открытым, последующие кадры рисования в дочернем разыменовании освобождают память, что может привести к сбою или повреждению памяти.
Приложения затронуты только в том случае, если они используют внеэкранный рендеринг (webPreferences.offscreen: true), а их setWindowOpenHandler разрешает дочерние окна. Приложения, которые не используют внеэкранный рендеринг или запрещают дочерние окна, не затрагиваются. Эта проблема исправлена в версиях 39.8.1, 40.7.0 и 41.0.0.
Показать оригинальное описание (EN)
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 39.8.1, 40.7.0, and 41.0.0, apps that use offscreen rendering and allow child windows via window.open() may be vulnerable to a use-after-free. If the parent offscreen WebContents is destroyed while a child window remains open, subsequent paint frames on the child dereference freed memory, which may lead to a crash or memory corruption. Apps are only affected if they use offscreen rendering (webPreferences.offscreen: true) and their setWindowOpenHandler permits child windows. Apps that do not use offscreen rendering, or that deny child windows, are not affected. This issue has been patched in versions 39.8.1, 40.7.0, and 41.0.0.
Характеристики атаки
Последствия
Строка CVSS v3.1