🔍 CVE-2026-40262

8.7
CVSS Score
HIGH
2026-04-17
2026-10-26 21:10
✅ 완료

🇰🇷 한글 설명

Note Mark 0.19.1 이하 버전의 자산 전달 핸들러는 업로드된 파일을 inline으로 제공하며, 콘텐츠 타입 판별을 매직 바이트에 의존합니다. 이로 인해 HTML, SVG, XHTML 같은 텍스트 기반 형식은 식별되지 않고 Content-Type이 비어 있는 상태로 제공되어 브라우저가 스크립트를 실행할 수 있습니다. 인증된 사용자가 JavaScript가 포함된 HTML/SVG 파일을 업로드하면, 피해자가 해당 자산 URL에 접근할 때 애플리케이션 출처에서 스크립트가 실행되어 세션 탈취 및 API 작업이 가능합니다. 이 문제는 0.19.2 버전에서 수정되었습니다.

💡 쉬운 설명

노트 앱에 악성 웹 파일을 올려두면, 다른 사람이 그 링크를 열었을 때 그 사람의 로그인 정보가 빼앗길 수 있는 취약점입니다. 앱을 0.19.2 이상으로 업데이트하면 해결됩니다.

🇺🇸 원문 (English)

Note Mark is an open-source note-taking application. In versions 0.19.1 and prior, the asset delivery handler serves uploaded files inline and relies on magic-byte detection for content type, which does not identify text-based formats such as HTML, SVG, or XHTML. These files are served with an empty Content-Type, no X-Content-Type-Options: nosniff header, and inline disposition, allowing browsers to sniff and render active content. An authenticated user can upload an HTML or SVG file containing JavaScript as a note asset, and when a victim navigates to the asset URL, the script executes under the application's origin with access to the victim's authenticated session and API actions. This issue has been fixed in version 0.19.2.

📍 영향받는 시스템

Note Mark 0.19.1 이하 버전

⚔️ 공격 벡터

인증된 사용자가 JavaScript를 포함한 HTML/SVG 파일을 노트 자산으로 업로드하고, 피해자가 해당 URL에 접속하면 스크립트가 세션 권한으로 실행됨 (저장형 XSS)

🛡️ 대응 방법

Note Mark를 0.19.2 이상으로 업그레이드하고, 업그레이드 전까지 자산 URL 접근을 제한하거나 HTML/SVG 업로드를 차단

🔧 검증 코드

출력된 버전이 0.19.2 이상이면 패치 적용된 상태이며, 0.19.1 이하이거나 버전 정보가 확인되면 취약한 상태이므로 업그레이드가 필요합니다

Shell / Script
docker ps --format '{{.Image}}' | grep -i notemark; grep -rE '"version"|0\.19\.[0-9]' /opt/notemark/package.json 2>/dev/null

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Oracle Java SE