🔍 CVE-2026-46642

6.1
CVSS Score
MEDIUM
2026-06-10
2026-10-26 11:10
✅ 완료

🇰🇷 한글 설명

draw.io는 설정 가능한 다이어그램 및 화이트보드 애플리케이션입니다. 29.7.12 이전 버전에서는 조작된 .drawio 파일을 열면 편집기 출처(origin)에서 임의의 JavaScript가 실행될 수 있습니다. 취약점은 렌더링 경로의 라벨 새니타이저가 아니라 Text Format 패널의 기능 감지 루틴에서 발생하며, 이 루틴이 원본 셀 라벨을 새니타이즈 없이 분리된 요소의 innerHTML에 대입합니다. 이로 인해 셀 라벨에 삽입된 <img src=x onerror=...> 페이로드가 셀 선택 시 실행됩니다. 이 문제는 29.7.12 버전에서 패치되었습니다.

💡 쉬운 설명

악성 다이어그램 파일을 draw.io에서 열면 파일 안에 숨겨진 스크립트가 자동으로 실행될 수 있습니다. 최신 버전으로 업데이트하면 이 문제가 해결됩니다.

🇺🇸 원문 (English)

draw.io is a configurable diagramming and whiteboarding application. Prior to version 29.7.12, a crafted .drawio file can execute arbitrary JavaScript in the editor's origin when the file is opened. The vulnerability is not in the label sanitizer (which works correctly on the rendering path) but in a feature-detection routine in the Text Format panel that reads the raw cell label and assigns it to a detached element's innerHTML without sanitization. Browsers fire onerror for failed image loads even on detached elements, so an <img src=x onerror=...> payload in any cell label triggers script execution as soon as the cell is selected — which import does automatically. This issue has been patched in version 29.7.12.

📍 영향받는 시스템

draw.io 29.7.12 미만 버전 (웹 및 데스크톱 앱 포함)

⚔️ 공격 벡터

조작된 .drawio 파일을 사용자가 열거나 가져오면 셀 라벨의 img onerror 페이로드가 실행되어 편집기 출처에서 스크립트가 동작함

🛡️ 대응 방법

draw.io를 29.7.12 이상 버전으로 업그레이드하고, 신뢰할 수 없는 .drawio 파일을 열지 않도록 주의

🔧 검증 코드

출력된 버전 값이 29.7.12 미만이면 취약하고, 29.7.12 이상이면 패치된 상태입니다. 설치 경로가 다르면 해당 경로에서 버전을 확인하세요.

Shell / Script
npm ls -g draw.io 2>/dev/null; dpkg -l drawio 2>/dev/null | grep drawio; grep -o '"version":"[^"]*"' /opt/drawio/package.json 2>/dev/null

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Oracle Java SE