AI 요약
구글 프로젝트 제로 연구팀은 구글 픽셀 10을 대상으로 제로클릭(0-click) 환경에서 안드로이드 루트 권한을 획득할 수 있는 익스플로잇 체인을 분석해 발표했습니다. 이 체인은 안드로이드 전반에 존재했던 Dolby 취약점(CVE-2025-54957)과 픽셀 10의 텐서 G5 칩셋에 탑재된 신규 하드웨어 드라이버의 취약점을 결합한 것입니다. 픽셀 10은 기존의 스택 보호기 대신 RET PAC 보안 기술을 도입했으나, 연구팀은 초기화 코드인 dap_cpdp_init을 활용해 이를 무력화했습니다. 특히 텐서 G5의 비디오 디코딩 가속을 담당하는 Chips&Media Wave677DV 드라이버(/dev/vpu)에서 하드웨어 레지스터 인터페이스를 사용자 공간에 직접 노출하는 치명적인 설계 오류가 발견되었습니다. 연구원 Jann Horn과 협업한 이번 조사에서 해당 결함을 찾아내는 데는 단 2시간밖에 걸리지 않았으며, 이는 하드웨어 드라이버의 보안 취약성이 기기 전체의 보안을 얼마나 쉽게 무너뜨릴 수 있는지를 잘 보여줍니다.
핵심 인사이트
- CVE-2025-54957 활용: 안드로이드 전반에 영향을 미친 Dolby 취약점을 활용했으며, 이는 2025년 12월 보안 패치 수준(SPL) 이하의 기기에서만 작동합니다.
- RET PAC 우회: 픽셀 10은
-fstack-protector대신 RET PAC을 사용하지만, 연구팀은__stack_chk_fail대신dap_cpdp_init함수를 덮어쓰는 방식으로 보호 기능을 우회했습니다. - 신규 하드웨어 드라이버 결함: 픽셀 10의 텐서 G5 칩셋에 탑재된 Chips&Media Wave677DV 비디오 가속기 드라이버에서 심각한 취약점이 발견되었습니다.
- 초고속 취약점 발견: 연구원 Jann Horn과 함께 단 2시간의 코드 오딧(Audit)만으로 VPU 드라이버의 치명적인 결함을 찾아냈습니다.
주요 디테일
- VPU 드라이버 구조: 기존 픽셀 9의 BigWave 드라이버 대신 픽셀 10에는
mediacodecSELinux 컨텍스트 내의/dev/vpu드라이버가 새롭게 추가되었습니다. - 직접적인 MMIO 노출: 리눅스 업스트림 드라이버(WAVE521C)가 V4L2 API를 사용하는 것과 달리, 픽셀 10의 드라이버는 사용자 공간에서 칩의 MMIO 레지스터 인터페이스를 직접 매핑할 수 있도록 허용했습니다.
- vpu_mmap 핸들러의 취약점:
vpu_mmap함수 내에서 CSRs(Control and Status Registers) 매핑 시remap_pfn_range를 사용하여 하드웨어 제어권을 검증 없이 넘겨주는 로직이 확인되었습니다. - 공격 경로 최적화: 연구팀은 픽셀 9에서 사용했던 익스플로잇을 픽셀 10 환경에 맞춰 오프셋 값을 수정하고, 타겟 함수를 변경하는 것만으로 신속하게 공격 코드를 업데이트했습니다.
- 보안 패치 현황: 해당 취약점들 중 Dolby 관련 결함은 2026년 1월에 패치되었으며, 이번 사례는 패치되지 않은 하드웨어 드라이버의 위험성을 경고합니다.
향후 전망
- 드라이버 설계 표준 강화: 제조사들이 하드웨어 가속기 드라이버를 구현할 때 V4L2와 같은 표준 API를 우회하여 직접 노출하는 관행에 대한 강한 보안 감사가 이어질 것으로 예상됩니다.
- 픽셀 시리즈 보안 업데이트 가속: 구글은 텐서 G5 칩셋 및 관련 드라이버 스택의 보안을 강화하기 위해 추가적인 펌웨어 업데이트를 배포할 가능성이 높습니다.
