🇰🇷 한글 설명
SiYuan 3.6.4 이전 버전의 테이블 캡션 콘텐츠 이스케이프 부재로 인한 저장된 XSS 취약점입니다. Electron 렌더러가 nodeIntegration 활성화 및 contextIsolation 비활성화 상태에서 실행되어, 공격자 제어 JavaScript가 Node.js API 접근 권한으로 실행됩니다. 동기화된 작업공간을 통해 악성 노트가 전파되고 피해자가 노트 열람 시 원격 코드 실행이 발생합니다.
💡 쉬운 설명
SiYuan에서 악의적으로 만든 노트를 받으면 그 노트를 열 때 공격자의 악성 코드가 자동으로 실행됩니다. 이는 컴퓨터 전체를 장악할 수 있는 매우 심각한 보안 결함입니다.
🇺🇸 원문 (English)
SiYuan is a personal knowledge management system. Prior to 3.6.4, a malicious note synced to another user can trigger remote code execution in the SiYuan Electron desktop client. The root cause is that table caption content is stored without safe escaping and later unescaped into rendered HTML, creating a stored XSS sink. Because the desktop renderer runs with nodeIntegration enabled and contextIsolation disabled, attacker-controlled JavaScript executes with access to Node.js APIs. In practice, an attacker can import a crafted note into a synced workspace, wait for the victim to sync, and achieve code execution when the victim opens the note. This vulnerability is fixed in 3.6.4.
📍 영향받는 시스템
SiYuan 3.6.4 이전 모든 버전 (Electron 데스크톱 클라이언트)
⚔️ 공격 벡터
악의적으로 제작된 노트를 동기화된 작업공간으로 가져와 피해자가 노트 열람 시 코드 실행 유도
🛡️ 대응 방법
SiYuan을 3.6.4 이상 버전으로 즉시 업그레이드
🔧 검증 코드
출력된 버전이 3.6.4 미만이면 즉시 업그레이드 필요, 3.6.4 이상이면 패치된 안전한 버전
siyuan --version 2>/dev/null || grep -i version ~/.siyuan/conf.json 2>/dev/null || echo 'SiYuan not found'