
IOS 오디오 버퍼 오버플로 CVE-2025-31200 POC
CVE-2025-31200은 Apple의 CoreAudio 프레임워크에서 Apple Positional Audio Codec (APAC) 디코더에 영향을 미치는 버퍼 오버플로우 취약점입니다. 이 버그는 APACHOADecoder::DecodeAPACFrame 내의 APACChannelRemapper::Process 함수에 존재합니다.
영향을 받는 시스템:
취약점은 채널 레이아웃 검증의 논리 오류에서 비롯됩니다:
mRemappingArray는 전역 채널 레이아웃의 mChannelLayoutTag 하위 2바이트를 기준으로 크기가 결정됩니다익스플로잇은 다음과 같은 악성 APAC 오디오 파일을 제작하여 작동합니다:
이 리포지토리에는 이 취약점을 익스플로잇하는 악성 APAC 쿠키를 생성하는 Python 구현이 포함되어 있습니다.
poc.py - 주요 익스플로잇 생성기generate_audio_simple.py - 오디오 파일 생성caf_utils.py - APAC 쿠키 조작 유틸리티parser.py - 쿠키 파싱 및 익스플로잇 페이로드 생성test_exploit.py - 익스플로잇 검증 및 분석create_malicious_mp4.py - MP4 페이로드 생성# Generate malicious APAC cookie
pip install numpy construct
python3 poc.py
# Verify exploit payload
python3 test_exploit.py
# Create malicious MP4 (requires macOS afconvert)
python3 create_malicious_mp4.py
스크립트는 다음을 생성합니다:
exploit_cookie.dat - 채널 개수 불일치가 있는 악성 APAC 쿠키malicious_apac.m4a - 테스트 준비가 완료된 무기화된 MP4 파일poc.py)test_exploit.py)create_malicious_mp4.py)APACChannelRemapper::Process에서 메모리 경계를 넘는 접근 발생취약한 시스템에서 익스플로잇을 확인하려면:
APACChannelRemapper::Process신중한 페이로드 제작을 통해 이 취약점은 잠재적으로 다음에 활용될 수 있습니다:
코드 실행: 경계를 넘는 쓰기 작업을 제어함으로써 공격자는 다음을 수행할 수 있습니다:
샌드박스 탈출: CoreAudio는 다양한 보안 컨텍스트에서 실행되므로:
원격 공격 시나리오:
Apple은 이 취약점을 다음 버전에서 해결했습니다:
수정 사항은 처리 전에 전역 레이아웃과 재매핑 레이아웃 간의 채널 개수를 검증하여 버퍼 오버플로우를 유발하는 불일치를 방지합니다.

이 개념 증명은 교육 및 연구 목적으로만 제공됩니다. 이는 Apple CoreAudio 프레임워크의 중요한 보안 취약점을 시연하여 보안 연구자들이 공격 메커니즘을 이해하고 방어 조치를 개선하는 데 도움을 주기 위한 것입니다.