🇰🇷 한글 설명
SiYuan v3.8.4 미만 버전의 Electron 메인 프로세스 내 'siyuan-send-windows' IPC 핸들러가 송신자를 검증하지 않고 모든 창에 페이로드를 전달하는 취약점이 존재합니다. 공격자가 제어하는 원격 커널을 통해 특정 명령을 보내면 다른 워크스페이스의 창을 반복적으로 잠금 상태로 만들어 서비스 거부(DoS)를 유발할 수 있습니다.
💡 쉬운 설명
해커가 조작한 웹 페이지를 통해 사용자의 컴퓨터에 열려 있는 다른 작업 창들을 강제로 잠가버릴 수 있는 문제입니다. 이로 인해 사용자가 작업 중인 화면을 계속해서 사용할 수 없게 되는 불편함이 발생할 수 있습니다.
🇺🇸 원문 (English)
SiYuan before v3.8.4 does not validate the sender or restrict recipients in the 'siyuan-send-windows' IPC handler of the Electron main process (app/electron/main.js). The handler ignores event.sender and forwards any received payload to every BrowserWindow returned by BrowserWindow.getAllWindows(), including windows belonging to other opened workspaces. A renderer connected to an attacker-controlled remote kernel can therefore send {cmd: "lockscreenByMode"} and have it delivered across the workspace boundary; a sibling workspace window whose lockScreenMode is set to 1 invokes lockScreen(). Repeated messages allow the remote workspace to repeatedly lock unrelated local workspace windows, causing a limited denial of service. No confidentiality, integrity, or code-execution impact was observed.
📍 영향받는 시스템
SiYuan v3.8.4 미만 버전
⚔️ 공격 벡터
원격 커널을 통해 조작된 IPC 메시지를 전송하여 다른 워크스페이스 창의 lockScreen() 함수를 호출
🛡️ 대응 방법
SiYuan을 최신 버전(v3.8.4 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 v3.8.4보다 낮은지 확인하십시오.
siyuan --version 2>/dev/null || echo 'Version check not supported via CLI'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:N/A:L
💻 영향받는 소프트웨어
Storage Protect Snapshot for Windows