Vite에서 발견된 임의 파일 읽기 취약점 (CVE-2025-31125)

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

- 대상: Vite를 사용하는 프론트엔드 개발자, DevOps 엔지니어, 보안 담당자

- 난이도: 중간 (취약점 원인 파악 및 패치 적용에 기술적 지식 필요)

핵심 요약

  • 임의 파일 읽기 취약점 (CVE-2025-31125): Vite의 정규식 및 URL 처리 로직 오류로 인해 서버 내 임의 파일 접근 가능
  • 취약점 조건: --host 또는 server.host 설정으로 외부 노출된 Vite 개발 서버
  • 패치 권장: 6.2.4, 6.1.3 등 최신 버전 업데이트 또는 네트워크 접근 제한

섹션별 세부 요약

1. 취약점 개요

  • Vite는 JavaScript/TypeScript 프론트엔드 빌드 도구로, 빠른 개발 서버와 최적화된 빌드 프로세스 제공
  • CVE-2025-31125: 공격자가 특수 URL을 통해 서버 내 파일 접근 제한 우회 가능
  • 위험 수준: 고위험 (공개된 PoC/EXP 존재, 패치 적용 전에 취약점 발생 가능성 높음)

2. 취약점 원인

  • 정규식 및 URL 파라미터 처리 오류: 특정 쿼리 문자열을 포함한 URL을 처리할 때 파일 접근 제어 검증 우회
  • 공격 조건:

- --host 또는 server.host 설정으로 외부 노출된 Vite 서버 (기본값: localhost)

- 공격자가 / 기반 경로를 조작하여 config, key 파일 등 민감 정보 접근 가능

3. 영향 받는 Vite 버전

  • 취약 버전:

- Vite 6.2.0 – 6.2.3

- Vite 6.1.0 – 6.1.2

- Vite 6.0.0 – 6.0.12

- Vite 5.0.0 – 5.4.15

- Vite ≤ 4.5.10

  • 패치된 버전: Vite 6.2.4, 6.1.3, 6.0.13, 5.4.16, 4.5.11

4. 즉시 적용 가능한 대응 조치

  • 업그레이드 권장: npm update vite 또는 수동 업그레이드로 최신 버전 적용
  • 대체 조치:

- --host 또는 server.hostlocalhost로 설정하여 외부 노출 방지

- OS 수준의 파일 권한 제어로 민감 파일 접근 차단

5. 취약점 감지 도구

  • Yuntu: 지문 분석 및 PoC 감지 지원
  • SafeLine: 커스텀 규칙으로 취약점 감지
  • Quanxi: 규칙 업그레이드 패키지 제공

결론

  • 즉시 패치 적용 또는 네트워크 접근 제한을 통해 취약점 발생 방지
  • 취약한 버전 사용 시 자격 증명 유출, 보안 위협 가능성 높음
  • CVE-2025-31125에 대한 공식 패치는 2025년 3월 31일 발표, 2025년 4월 1일 Chaitin 보안 대응 센터 공고
  • GitHub Advisory: GHSA-4r4m-qw57-chr8 참조