🔍 CVE-2026-112949

4.7
CVSS Score
MEDIUM
2026-10-20
2026-10-23 02:16
✅ 완료

🇰🇷 한글 설명

Vitest의 interceptorPlugin을 사용하는 개발 서버에서 unauthenticated WebSocket 클라이언트를 통해 조작된 URL을 포함한 수동 모크(manual mock)를 등록할 수 있는 취약점입니다. 공격자가 제어하는 URL이 생성된 모듈 소스에 이스케이프 처리 없이 삽입되어, 개발자의 브라우저가 해당 모듈을 로드할 때 개발 서버 오리진에서 공격자의 자바스크립트가 실행됩니다.

💡 쉬운 설명

개발 도구인 Vitest의 보안 허점을 이용해 공격자가 악성 코드를 심을 수 있는 문제입니다. 개발자가 코드를 테스트하는 과정에서 자신도 모르게 공격자의 스크립트가 실행될 위험이 있습니다.

🇺🇸 원문 (English)

Vitest is a Vite-native testing framework for JavaScript and TypeScript projects. From 2.1.0-beta.7 until 4.1.12 and 5.0.3, an unauthenticated non-browser WebSocket client that can reach a development server using interceptorPlugin can register a manual mock whose attacker-controlled url createManualModuleSource inserts unescaped into generated module source. When the developer browser loads the affected module, attacker-controlled JavaScript executes on the development-server origin. This issue is fixed in versions 4.1.12 and 5.0.3.

📍 영향받는 시스템

Vitest 2.1.0-beta.7 ~ 4.1.11 및 5.0.0 ~ 5.0.2

⚔️ 공격 벡터

인증되지 않은 WebSocket 클라이언트를 통한 악성 URL이 포함된 수동 모크 등록

🛡️ 대응 방법

Vitest를 버전 4.1.12 또는 5.0.3 이상으로 업데이트하십시오.

🔧 검증 코드

명령어 결과에 취약한 버전 범위가 나타나면 업데이트가 필요합니다.

Shell / Script
npm list vitest | grep -E 'vitest@(4\[\.\d+\.\d+\]|5\.0\.[0-2])'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Oracle Java SE