🔍 CVE-2017-8246

7.8
CVSS Score
HIGH
2017-05-12
2026-05-13 00:24
✅ 완료

🇰🇷 한글 설명

Android CAF 커널의 msm_pcm_playback_close() 함수에서 해제된 메모리 포인터(prtd)가 NULL로 초기화되지 않아 발생하는 Use-After-Free 취약점. 다른 함수들이 같은 메모리 영역에 접근할 때 해제된 메모리를 사용하여 메모리 손상 및 코드 실행 가능.

💡 쉬운 설명

Android 음성 처리 시스템에서 메모리를 해제하고도 포인터를 정리하지 않아, 나중에 그 메모리에 다시 접근할 때 문제가 발생합니다. 이를 악용하면 디바이스를 손상시키거나 악성 코드를 실행할 수 있습니다.

🇺🇸 원문 (English)

In function msm_pcm_playback_close() in all Android releases from CAF using the Linux kernel, prtd is assigned substream->runtime->private_data. Later, prtd is freed. However, prtd is not sanitized and set to NULL, resulting in a dangling pointer. There are other functions that access the same memory (substream->runtime->private_data) with a NULL check, such as msm_pcm_volume_ctl_put(), which means this freed memory could be used.

📍 영향받는 시스템

CAF(Code Aurora Forum) Linux 커널을 사용하는 모든 Android 디바이스 (특히 Qualcomm MSM SoC 기반)

⚔️ 공격 벡터

로컬 공격자가 오디오 재생 기능을 통한 메모리 조작으로 권한 상승

🛡️ 대응 방법

Android 보안 패치 적용 및 Linux 커널 업데이트 (prtd 포인터 NULL 초기화 패치)

🔧 검증 코드

Qualcomm MSM 커널 사용 확인 및 audio 관련 드라이버 로그에서 취약점 패치 여부 확인

Shell / Script
cat /proc/version | grep -i qualcomm && dmesg | grep -i msm

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel