사용자 조작이나 알림 없이 발생하는 Android 원격 서비스 거부 공격

4 days ago 14

잘못 구성된 WAP Push SMS 한 건으로 Android의 com.android.phone 프로세스가 종료되며, 사용자 조작이나 알림 없이 긴급전화를 포함한 진행 중 통화가 끊김 원인은 WSP 헤더 길이를 long에서 int로 변환할 때 범위를 검사하지 않는 코드임. 음수가 된 길이로 배열을 생성하면서 처리되지 않은 예외가 발생함 통신사의 재전송으로 메시지 한 건이 최대 일주일간 간헐적 장애를 일으켰으며, 빠른 반복 전송은 SMS 데이터베이스 손상과 부팅 때마다 재발하는 장애로 이어짐 지속적 장애를 복구하려면 SIM을 비Android 기기로 옮겨 재전송을 끝내고 ADB로 손상 데이터를 정리해야 했음. 공장 초기화의 효과는 일시적이었으며, eSIM 기기는 복구가 훨씬 어려울 수 있음 Google은 세 개의 신고 티켓과 네 명의 엔지니어 검토를 거쳐 최종적으로 비보안 문제(NSI), 수정하지 않음으로 분류함. 신고자는 90일 공개 유예 기간을 넘겨 기다린 뒤 취약점과 개념 증명 앱을 공개함 취약점 원인과 전달 경로 취약한 구성요소는 Android frameworks/opt/telephony의 WapPushOverSms 이며, 공격 메시지는 포트 2948을 사용하는 WAP Push 데이터 SMS로 전달됨 WapPushOverSms.decodeWapPdu()는 WSP 헤더 길이를 uintvar 로 읽은 뒤, long 반환값을 범위 확인 없이 int로 변환하고 새 바이트 배열의 크기로 사용함 5바이트 길이 값이 0x80000000으로 해석되면, 부호 있는 32비트 정수로 변환한 결과는 -2147483648이 됨 이 크기로 배열을 생성하면 NegativeArraySizeException이 발생하며, 전화 기능의 메인 스레드에서 처리되지 않아 com.android.phone이 종료됨 메시지는 사용자에게 표시되지 않는 데이터 SMS이므로 받은편지함에 남지 않고 발신 번호도 드러나지 않음. 탭하거나 메시지를 열 필요가 없으며 알림도 나타나지 않음 일시적 통신 중단에서 지속적 장애로 프로세스 재시작 시 진행 중인 음성 통화가 DisconnectCause CS_DEATH 로 종료되며, 메시지 한 건마다 약 1~2초간 통신 서비스가 중단됨 긴급전화도 끊길 수 있음 시험 대상인 2026년 4월 펌웨어의 Pixel 9과 여러 Samsung Galaxy 및 A-series 기기에서 재현율은 100%였음 통신사 재전송이 장애를 증폭함....

Read Entire Article




피플앤툴즈 네트워크
🛍 샵