🔍 CVE-2026-86016

8.2
CVSS Score
HIGH
2026-10-13
2026-10-29 15:17
✅ 완료

🇰🇷 한글 설명

VNote 4.3.0 이전 버전에서는 YAML 프론트매터 메타데이터를 삽입할 때 innerHTML에 검증되지 않은 값을 할당하여, 악의적인 Markdown 노트를 열면 file:// 뷰어 컨텍스트에서 저장된 JavaScript가 실행될 수 있습니다. 로컬 콘텐츠가 원격 URL에 접근할 수 있도록 설정되어 있어, 스크립트가 로컬 노트 파일 내용을 외부 서버로 전송할 수 있습니다. 해당 취약점은 4.3.0 버전에서 수정되었습니다.

💡 쉬운 설명

악성 메모 파일을 VNote로 열기만 해도 공격자의 코드가 실행될 수 있습니다. 그 코드는 컴퓨터 안의 메모 파일 내용을 외부로 빼돌릴 수 있습니다.

🇺🇸 원문 (English)

VNote is a note-taking platform. Prior to 4.3.0, VNote uses the assignment `preNode.innerHTML = p_metaData` in src/data/extra/web/js/markdownit.js to insert YAML frontmatter metadata into a pre element before the protectFromXss sanitization path runs. Opening an attacker-supplied Markdown note can therefore execute stored JavaScript in the file:// viewer context. Because QWebEngineSettings::LocalContentCanAccessRemoteUrls enables local content to access remote URLs, the script can read reachable local note files and transmit their contents to a remote server without further interaction after the note is opened. This issue is fixed in version 4.3.0.

📍 영향받는 시스템

VNote 4.3.0 미만 버전 (모든 OS)

⚔️ 공격 벡터

공격자가 제작한 악성 Markdown 노트 파일을 피해자가 열면, 프론트매터 처리 과정의 innerHTML 취약점으로 스크립트가 실행되어 로컬 노트를 원격 서버로 전송

🛡️ 대응 방법

VNote를 4.3.0 이상 버전으로 업데이트하고, 신뢰할 수 없는 출처의 노트 파일을 열지 않도록 주의

🔧 검증 코드

출력된 버전이 4.3.0 미만이면 취약하므로 업데이트가 필요하고, 4.3.0 이상이면 수정된 버전입니다. 명령이 아무 결과도 내지 않으면 VNote가 설치되어 있지 않거나 경로가 다른 것입니다.

Shell / Script
vnote --version 2>/dev/null || grep -i '"version"' /usr/share/vnote/package.json 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N

💻 영향받는 소프트웨어

Oracle Java SE