1. 취약점 개요:
CVE-2025-5419는 구글 위협 분석팀에서 2025년 5월 27일에 발견한 크롬 V8 자바스크립트 엔진의 고위험 아웃오브바운드 읽기/쓰기 취약점입니다. 이 취약점은 스토어-스토어 제거 최적화를 수행할 때 V8 터보팬 컴파일러가 동적 인덱스 로딩을 잘못 처리하여 별칭 관계를 잘못 분류하고 중요한 스토어 작업을 잘못 제거하여 결과적으로 범위를 벗어난 메모리 액세스로 이어지는 데서 비롯됩니다.
공격자는 특수하게 조작된 HTML 페이지를 구성하여 사용자의 방문을 유도하고 악성 JavaScript 코드 실행을 트리거하며 취약점을 악용하여 원격 코드 실행 및 샌드박스 탈출을 달성하고 궁극적으로 피해자의 디바이스를 완전히 제어할 수 있습니다.
이 취약점은 크롬, 엣지, 오페라, 브레이브, 비발디 등 모든 크롬 기반 브라우저에 영향을 미치며 야생에서 악용되고 있으며, 구글은 수정 사항을 발표하고 사용자에게 즉시 크롬 137.0.7151.68/.69 이상으로 업데이트할 것을 권장하고 있습니다.
2. 영향 평가
영향을 받는 플랫폼:
Windows구글 크롬브라우저(소프트웨어)
macOS의 Google 크롬
Linux 시스템의 Google 크롬
영향을 받는 브라우저:
구글 크롬
Microsoft Edge
오페라
Brave
비발디
크롬 엔진 기반 기타 브라우저
영향을 받는 버전:
구글 크롬(윈도우/맥) 버전 137.0.7151.68/.69 미만
버전 137.0.7151.68 미만의 Google 크롬(Linux)
보안 위험:
원격 코드 실행(RCE): 공격자가 사용자 디바이스를 완전히 제어할 수 있습니다.
민감한 정보 유출: 시스템 메모리에 있는 민감한 데이터를 읽을 수 있습니다.
샌드박스 탈출: 브라우저의 샌드박스 보호 메커니즘 우회하기
데이터 변조: 시스템 메모리의 중요 데이터를 수정할 수 있습니다.
활용 접근 방식:
특수하게 제작된 HTML 페이지에 의해 트리거되는 취약점
사용자 상호 작용 필요(악성 웹 페이지에 대한 액세스)
야생에서 활용되는 것으로 확인되었습니다.
3. 기술 원칙 분석.
V8 터보팬 컴파일러 개요
V8 엔진용 TurboFan은 고성능 최적화를 위해 IR 기반 알고리즘을 사용하는 최적화 컴파일러입니다. 주요 기능은 다음과 같습니다:
- "노드의 바다" 표현 사용
- 매장-매장 제거와 같은 최적화 수행
- 유형 추론 및 인라인 캐싱 사용
저장 공간 제거 최적화 메커니즘:
TurboFan은 EscapeAnalysisPhase 알고리즘을 통해 스토리지 제거 최적화를 지원합니다:
- 객체 이스케이프 상태를 추적하는 가상 객체 생성하기
- 이스케이프되지 않은 StoreField 노드를 제거 가능한 것으로 표시하기
- 재방문 메커니즘을 통해 종속성 노드 다시 분석하기
- 결국 중복 스토리지 작업을 데드 노드로 대체합니다.
취약점 트리거 메커니즘
이 취약점은 터보팬이 동적 인덱스 로딩을 잘못 처리하기 때문에 발생합니다:
- 스토리지 제거를 수행할 때 올바른 별칭 분석에 대한 의존성
- 동적 인덱스 로딩 시나리오에서 TurboFan이 스토리지 작업의 앨리어싱 관계를 잘못 판단하는 경우
- 제거해서는 안 되는 중요한 스토리지 작업에 태그가 지정됩니다.
- 중요한 스토리지 작업이 오류로 인해 제거됨
- 후속 메모리 액세스가 범위를 벗어나게 합니다.
메모리 손상 및 임의 코드 실행:
- 범위를 벗어난 액세스로 인한 힙 메모리 손상
- 잘 구성된 읽기 및 쓰기 작업 제어 메모리 레이아웃
- 샌드박스 이스케이프 구현을 위한 ROP 체인 등의 기술 결합
- 임의 코드 실행 마무리
4. 취약점 악용 조건
세심하게 구성된 자바스크립트 코드
공격자는 결함이 있는 최적화 경로를 실행하기 위해 터보팬을 트리거하는 특정 배열 연산을 구성해야 합니다.
사용자 상호작용
사용자가 악성 자바스크립트가 포함된 특수 제작된 HTML 페이지를 방문하도록 요구합니다.
취약한 브라우저 버전
대상 시스템은 버전 137.0.7151.68/.69 미만의 Chromium 브라우저를 실행해야 합니다.
5. 취약성 POC/경험.
최고 보안 책임자의 원본 글, 복제할 경우 출처: https://www.cncso.com/kr/cve-2025-5419-chrome-v8-javascript-engine-out-of-bounds-oob-read-write- vulnerability.html
