안드로이드 긴급 통화 중단시키는 악성 SMS 공격 공개
원제 Zero click, silent, remote Android DoS
137 포인트댓글 88
Key Point
긴급 전화를 원격으로 영구 차단할 수 있는 취약점이 공개되면서 수억 대의 안드로이드 기기가 노출됐고, 통신사의 자동 차단 정책으로 인해 사용자 과실이 아닌데 기기가 네트워크에서 제외될 수 있다.
핵심 요약
- 잘못된 WAP Push SMS 한 통으로 안드로이드 전화 앱(com.android.phone)을 크래시시켜 통화 중 상태의 모든 전화(긴급 전화 포함)를 끊을 수 있는 취약점이 공개됐다.
- 5바이트 uintvar 값 88 80 80 80 00이 0x80000000으로 디코딩되고, 32비트 정수로 캐스팅되면서 -2147483648이 되는데, 이를 바이트 배열 크기로 사용하면서 NegativeArraySizeException을 발생시킨다.
- 메시지는 데이터 SMS로 전달돼 사용자에게 보이지 않으며, Pixel 9(2026년 4월 펌웨어)와 여러 삼성 갤럭시·A시리즈에서 100% 재현 가능하다.
- 같은 페이로드를 빠르게 연속 발송(약 30통)하면 SMS 저장소의 SQLite 데이터베이스가 손상돼, 재부팅할 때마다 전화 앱이 충돌하고 영구적으로 통화 불가능해진다.
- 공장 초기화만으로는 불충분하다. 통신사가 미확인 메시지를 재전송하면서 다시 크래시가 발생하기 때문이다.
- eSIM 장치에서는 심카드 교체 불가능해 복구가 더욱 어려우며, 기술 지식 없는 사용자는 사실상 복구 불가능하다.
- 호주 통신산업규제청(ACMA) 규정상 긴급 전화(000) 불가 단말은 통신사가 네트워크에서 차단해야 하는데, 이 공격으로 인한 영구 상태에서는 OS 패치 없이 기기가 자동으로 차단된다.
- 구글 VRP(취약점 보상 프로그램)에 제출됐지만 90일 이상 지연된 후 3개 티켓과 4명의 엔지니어를 거쳐 '보안 문제 아님'으로 분류돼 거부됐다.
- Google이 수정을 거부했으므로 전체 공개하며, WapPushOverSms.java 217줄에 형 변환 전 범위 검사를 추가하는 것으로 해결 가능하다.
- GitHub에 공개된 Android PoC 앱은 잘못된 WAP Push PDU를 만들어 대상 번호로 데이터 SMS로 전송한다.
- PoC는 '악의적 목적 금지' 경고와 Apache License 2.0으로 제공되며, 호주 및 대부분 국가에서 긴급 통화 방해는 중죄다.