🇰🇷 한글 설명
Electron 프레임워크의 webContents.openDevTools() 함수에서 mode 옵션에 대한 검증이 누락되어 발생한 취약점입니다. 공격자가 이 값을 조작할 수 있다면 DevTools 컨텍스트 내에서 임의의 스크립트를 실행할 수 있으며, 샌드박스가 해제된 설정에서는 Node.js 권한까지 탈취될 수 있습니다.
💡 쉬운 설명
개발자 도구를 여는 설정값에 악성 코드가 섞여 들어올 수 있는 보안 약점입니다. 이를 통해 해커가 사용자의 컴퓨터에서 허가되지 않은 명령을 실행할 위험이 있습니다.
🇺🇸 원문 (English)
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 39.8.7, 40.9.0, 41.2.0, and 42.0.0-beta.1, the mode option of webContents.openDevTools() was not sanitized before use by the DevTools frontend. If an attacker can influence this value, script under their control may run in the DevTools context, which in unsandboxed configurations has access to Node.js, including when untrusted input reaches the mode argument of openDevTools() or untrusted content calls openDevTools() on a webview it embeds. This issue is fixed in 39.8.7, 40.9.0, 41.2.0, and 42.0.0-beta.1.
📍 영향받는 시스템
Electron versions prior to 39.8.7, 40.9.0, 41.2.0, and 42.0.0-beta.1
⚔️ 공격 벡터
untrusted input을 통해 openDevTools()의 mode 인자값을 조작하여 DevTools 컨텍스트 내 스크립트 실행
🛡️ 대응 방법
Electron을 최신 보안 패치 버전(39.8.7, 40.9.0, 41.2.0, 42.0.0-beta.1 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 Electron 버전을 확인하여 취약점이 해결된 버전(39.8.7, 40.9.0, 41.2.0, 42.0.0-beta.1 이상)인지 대조하십시오.