🇰🇷 한글 설명
Android/Firefox OS의 Linux 커널 IPA IPC 로그 시스템에서 debugfs를 통한 레이스 컨디션으로 인해 이중 해제(double-free) 및 해제 후 사용(use-after-free) 취약점이 발생합니다. 두 개의 동시 스레드가 IPA IPC 로그 제어 파일에 접근할 때 메모리 손상이 발생할 수 있습니다.
💡 쉬운 설명
안드로이드 디바이스의 시스템 메모리 관리 부분에서 두 개의 작업이 동시에 같은 메모리를 해제하려고 할 때 시스템이 충돌하거나 공격자가 권한을 획득할 수 있는 문제입니다. 이는 로컬 접근 권한이 있어야 악용 가능합니다.
🇺🇸 원문 (English)
In Android for MSM, Firefox OS for MSM, QRD Android, with all Android releases from CAF using the Linux kernel, two concurrent threads/processes can write the value of "0" to the debugfs file that controls ipa ipc log which will lead to the double-free in ipc_log_context_destroy(). Another issue is the Use-After-Free which can happen due to the race condition when the ipc log is deallocated via the debugfs call during a log print.
📍 영향받는 시스템
Android (CAF kernel 기반 모든 버전), Firefox OS for MSM, QRD Android
⚔️ 공격 벡터
로컬 프로세스가 debugfs의 IPA IPC 로그 제어 파일에 접근하여 레이스 컨디션 유발
🛡️ 대응 방법
Linux 커널 패치 적용 및 안드로이드 보안 업데이트 설치
🔧 검증 코드
명령어 결과가 없으면 해당 기능이 비활성화된 상태이며, 결과가 있으면 취약한 IPA IPC 로그 시스템이 활성화된 상태입니다. 보안 패치 적용 여부는 uname -r로 커널 버전을 확인하고 해당 버전의 보안 공지를 참조해야 합니다.
grep -r 'ipc_log_context_destroy' /sys/kernel/debug 2>/dev/null || echo 'IPA IPC 로그 시스템 비활성화 상태'