Vite 개발 서버를 외부에 그대로 열어두면 CVE-2026-39364 취약점으로 .env 파일 속 클라우드 자격증명과 API 키, *.crt 인증서 파일처럼 server.fs.deny 설정으로 제한해 둔 주요 보안 정보가 밖으로 새어 나갈 수 있습니다.
CVE-2026-39364 취약점 개요 및 영향 버전
CVE-2026-39364는 Vite(벤더: vitejs) 개발 서버의 심각한 보안 취약점입니다. 서버 내부 파일 접근을 제어하는 server.fs.deny 설정을 특정 쿼리 파라미터로 무력화해 우회할 수 있다는 게 핵심입니다.
해당 취약점은 공개 보고(CVSS 4.0) 기준으로 8.2(High)라는 높은 위험 점수를 기록했습니다. 개발 환경의 설정 오류 하나가 실제 인프라 침해로 이어질 수 있는 긴급한 상황입니다.
영향을 받는 버전과 세부 정보는 아래 표로 정리했습니다.
| 항목 | 세부 내용 |
|---|---|
| 취약점 식별 번호 | CVE-2026-39364 |
| 영향을 받는 벤더 | vitejs |
| 취약 버전 범위 | >= 8.0.0, |
| CVSS 4.0 위험도 | 8.2 (High) |
취약점 동작 방식 및 공격 흐름
이 취약점은 공격자가 HTTP 요청에 특정 쿼리 파라미터를 붙여 서버의 파일 접근 제한 설정을 우회하는 방식으로 동작합니다.
- 타겟 식별: 공격자는 외부에 노출된 Vite 개발 서버를 탐색합니다.
- 우회 요청 전송:
.env나*.crt처럼 기본적으로 차단 대상인 파일 경로에 특정 쿼리 파라미터를 붙여 요청을 보냅니다.
- 사용되는 주요 쿼리 파라미터 예시:
?raw,?import&raw,?import&url&inline.
- 파일 유출:
server.fs.deny설정에 걸려 차단되어야 할 파일들이 쿼리 파라미터 탓에 HTTP 200 응답과 함께 공격자에게 그대로 넘어갑니다.
이 과정에서 공격자는 서버의 파일 시스템 구조를 파악한 뒤 민감한 설정 파일에 직접 접근해 데이터를 탈취합니다.
클라우드 자격증명 유출 캠페인 분석
이 취약점은 이론에 그치지 않았습니다. 실제 환경에서 이를 악용한 대규모 스캔 및 탈취 캠페인이 관측되었고, F5 Labs의 분석에 따르면 2026년 8월경 이 취약점을 겨냥한 조직적인 공격 활동이 포착되었습니다.
F5 Labs는 이 활동에 ‘Cloud Takeover’라는 이름을 붙였고, 공격자들이 외부에 노출된 개발 서버에서 클라우드 자격증명과 인프라 상태 파일을 집중적으로 탈취했음을 확인했습니다. 월간 분석 기간 동안 집계된 규모는 이 정도입니다.
- 세션 단위 공격 건수: 807건
- 원 이벤트(Raw Events) 수: 약 32,000건
이런 공격으로 유출될 수 있는 주요 정보는 다음과 같습니다.
- .env 파일: 클라우드 서비스 접근을 위한 자격증명, API 키 등이 담겨 있어 인프라 전체 권한 탈취로 이어질 수 있습니다.
- *.crt 파일: 서버 및 서비스 인증서 파일이 유출되어 보안 통신 체계를 위협합니다.
- 기타 제한 파일:
server.fs.deny설정으로 보호되던 모든 내부 설정 파일이 위험에 노출됩니다.
대응 방안 및 보안 권고 사항
Vite 개발 서버를 사용하는 프론트엔드 개발자와 인프라 관리자라면 즉시 다음 조치가 필요합니다.
-
Vite 버전 업데이트
영향을 받는 버전 범위인 8.0.0 이상 8.0.5 미만 버전을 사용 중이라면 취약점이 해결된 최신 버전으로 바로 업데이트하십시오.server.fs.deny우회 가능성이 제거됩니다. -
유출된 자격증명 무효화 및 재발급
이미 외부로 노출되었을 가능성이 있는.env내 API 키, 클라우드 액세스 키, 인증서(*.crt) 등을 전수 조사한 뒤 즉시 폐기하고 재발급받는 과정을 거칩니다.