CVE-2025-31486
6.2.0 <= Vite <= 6.2.4
6.1.0 <= Vite <= 6.1.3
6.0.0 <= Vite <= 6.0.13
5.0.0 <= Vite <= 5.4.16
Vite <= 4.5.11
Vite >= 6.2.5
6.1.4 <= Vite < 6.2.0
6.0.14 <= Vite < 6.1.0
5.4.17 <= Vite < 6.0.0
4.5.12 <= Vite < 5.0.0
버전 업데이트
Practice
취약한 Vite를 설치하기 위해 node.js 및 취약한 버전의 Vite를 설치합니다.
설치 후 Vite 접근을 허용할 호스트 목록을 작성합니다.
실제로는 개발자 본인 IP 혹은 팀원 IP만을 허용할 수 있지만, 이미 제어권 탈취가 이뤄졌다는 전제 하에
본 실습에서는 허용 가능 IP를 모든 IP인 0.0.0.0으로 설정합니다.
Vite는 기본적으로 vite.config.js 파일에서 지정한 경로 하위에 있는 파일만 접근할 수 있습니다.
예를 들어 /etc/passwd와 Vite의 프로젝트 경로는 다르기 때문에 아래와 같이 권한 오류가 발생합니다.
또한 취약한 버전이 아닌 안전한 버전에서는 아래와 같이 정상적 경로에서 경로이동 문자를 삽입하여
다른 경로의 파일에 접근하려고 하더라도 Vite의 홈페이지로 리다이렉션 되는 것을 확인할 수 있습니다.
하지만 서버에서 실행중인 안전한 버전을 취약한 버전으로 다운그레이드 시 아래 사진과 같이
설정 파일에서 허용하지 않은 /etc 디렉토리 하위에 있는 파일을 다운로드 하는 것이 가능합니다.
이 취약점의 실행 권한은 슈퍼 권한이기 때문에 모든 파일을 읽을 수 있습니다.
References
Last updated
Was this helpful?