RSS 프로젝트 제로
팔로우
픽셀 9 0-클릭 익스플로잇 체인 파트 2: 거대한 파도로 샌드박스 깨기
잠재적인 Dolby Unified Decoder RCE 익스플로잇의 등장으로, 결과적으로 생성되는 유저랜드 컨텍스트, 즉 mediacodec 컨텍스트에서 어떤 종류의 Linux 커널 드라이버에 접근할 수 있는지 확인하는 것이 현명해 보였습니다. AOSP 문서에 따르면, mediacodec SELinux 컨텍스트는 비보안 소프트웨어 디코더가 사용되는 제한된 (일명 샌드박스된) 컨텍스트로 설계되었습니다. 그럼에도 불구하고, 제 DriverCartographer 도구를 사용하여 mediacodec SELinux 컨텍스트에서 접근 가능한 흥미로운 장치 드라이버인 /dev/bigwave를 발견했습니다. BigWave는 Pixel SOC에 탑재된 하드웨어로, AV1 디코딩 작업을 가속화하며, 이것이 mediacodec 컨텍스트에서 접근 가능한 이유를 설명합니다. 이전 연구에서 충분히 확인되었듯이, 하드웨어 장치에 대한 Android 드라이버는 강력한 로컬 권한 상승 버그를 찾기에 좋은 장소입니다. BigWave 드라이버도 예외는 아니었습니다. 몇 시간 동안 코드를 감사한 결과, 샌드박스를 탈출하여 Pixel 9에서 커널 임의 읽기/쓰기를 가능하게 할 정도로 강력한 버그를 포함하여 세 가지 개별 버그를 발견했습니다.