Electron — это платформа для написания кроссплатформенных настольных приложений с использованием JavaScript, HTML и CSS. До версий 38.8.6, 39.8.1, 40.8.1 и 41.0.0, когда iframe запрашивает разрешения полноэкранного режима, pointerLock, KeyboardLock, openExternal или мультимедиа, источником, передаваемым в session.setPermissionRequestHandler(), был источник страницы верхнего уровня, а не источник запрашивающего iframe. Приложения, предоставляющие разрешения на основе параметра origin или webContents.getURL(), могут непреднамеренно предоставлять разрешения для встроенного стороннего контента.
Правильный URL-адрес запроса остается доступным через Details.requestingUrl. Приложения, которые уже проверяют Details.requestingUrl, не затрагиваются. Эта проблема исправлена в версиях 38.8.6, 39.8.1, 40.8.1 и 41.0.0.
Показать оригинальное описание (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.1, and 41.0.0, when an iframe requests fullscreen, pointerLock, keyboardLock, openExternal, or media permissions, the origin passed to session.setPermissionRequestHandler() was the top-level page's origin rather than the requesting iframe's origin. Apps that grant permissions based on the origin parameter or webContents.getURL() may inadvertently grant permissions to embedded third-party content. The correct requesting URL remains available via details.requestingUrl. Apps that already check details.requestingUrl are not affected. This issue has been patched in versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0.
Характеристики атаки
Последствия
Строка CVSS v3.1