
"단 하나의 악성 패킷이 당신의 기기를 장악할 수 있습니다." — Android Security Team, 2025년 11월
"단일 악성 패킷으로 기기를 장악할 수 있습니다." — Android 보안팀, 2025년 11월
Android 시스템(블루투스 하위 시스템)의 제로 클릭 원격 코드 실행
일반 휴대폰과 태블릿은 취약하지 않습니다. CVE-2025-48593은 스마트워치, 스마트 안경, 자동차와 같이 블루투스 헤드폰/스피커 역할을 지원하는 Android 기기에만 영향을 미칩니다. 또한 공격자는 취약점을 악용하기 전에 피해자가 블루투스 페어링 요청을 수락하도록 해야 합니다. 페어링 요청을 거절하는 것만으로도 보호가 됩니다. 출처: 독립 PoC 연구원 (worthdoingbadly.com, 2025년 12월)
| 속성 | 세부 정보 |
|---|---|
| CVE ID | CVE-2025-48593 |
| 심각도 | 심각 (RCE, 제로 클릭) |
| CVSS v3.1 점수 | 7.8 (높음) ✅ NVD 확인 |
| CVSS 벡터 | AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| 공격 경로 | 로컬 / 네트워크 (블루투스) |
| 사용자 상호 작용 | ❌ 필요 없음 |
| 필요한 권한 | ❌ 없음 |
| 근본 원인 | bta_hf_client_cb_init (bta_hf_client_main.cc)의 Use-After-Free |
| Android 버그 ID | A-374746961 |
| 익스플로잇 상태 | ⚠️ 에뮬레이터 PoC 존재 — 실제 기기에서 확인된 공격 없음 |
| 공개일 | 2025년 11월 3일 (Google 11월 Android 보안 게시판) |
⚠️ 참고: 원래 추정 CVSS 9.8이 수정되었습니다. NVD가 공식적으로 7.8(높음)로 확인했습니다. 이 취약점은 완전한 원격 네트워크 수준이 아닌 로컬 공격 경로입니다.
| Android 버전 | 영향을 받는 빌드 |
|---|---|
| Android 13 | 2023년 10월 ~ 2025년 10월 모든 빌드 |
| Android 14 | 2023년 10월 ~ 2025년 10월 모든 빌드 |
| Android 15 | 2025년 10월까지의 모든 빌드 |
| Android 16 | 2025년 7월 ~ 2025년 10월 빌드 ⚠️ |
2025-11-01 이상 패치 레벨의 기기는 보호됩니다.
✅ GrapheneOS 사용자는
hardened_malloc및 하드웨어 메모리 태깅을 통해 추가로 보호되며, 이는 패치되지 않은 빌드에서도 이러한 메모리 손상 취약점 클래스를 크게 완화합니다.
취약점은 블루투스 하위 시스템, 특히 bta_hf_client_main.cc의 bta_hf_client_cb_init 함수에 있습니다. 블루투스 핸즈프리 프로필(HFP) 클라이언트 구현의 use-after-free 결함입니다. 수정에는 블루투스 모듈에 대한 두 개의 커밋이 포함되었습니다.
// 취약한 경로를 보여주는 단순화된 의사 코드
void bta_hf_client_cb_init(tBTA_HF_CLIENT_CB *client_cb) {
free(client_cb->p_disc_db); // 오류 발생 시 SDP 탐색 DB 해제
// ... 기타 처리 ...
use(client_cb->p_disc_db); // ⚠️ use-after-free! CVE-2025-48593
execute_callback(client_cb); // 공격자가 제어하는 코드 경로
}
정확한 트리거: 패치 이전, 전화기가 SDP 탐색에 오류로 응답하면 bta_hf_client_sdp_cback이 BTA_HF_CLIENT_DISC_INT_RES_EVT를 발생시켜 tSDP_DISCOVERY_DB가 해제되는 동시에 해제된 풀에 더 이상 존재하지 않는 포인터(client_cb->p_disc_db)가 남아 있어 악용 가능한 댕글링 참조가 생성됩니다.
공격 벡터: SDP 협상 중 HFP 핸들러를 트리거하도록 조작된 변형된 블루투스 패킷.
영향: 취약한 핸들러는 사용자 상호 작용 없이 특권을 가진 블루투스 프로세스 컨텍스트에서 실행되어 무음 코드 실행이 가능합니다.
⚠️ 이 결함은 블루투스 헤드셋/스피커 클라이언트 역할을 하는 기기(예: 스마트워치, 스마트 안경, Android Automotive)에만 영향을 미칩니다. 일반 휴대폰과 태블릿은 기본적으로 HFP 헤드셋 서비스를 노출하지 않습니다.
| 상태 | 세부 정보 |
|---|---|
| 공개 PoC | ⚠️ 에뮬레이터 충돌 PoC 존재 (블루투스 서비스만 충돌) — ASLR 우회 불가 |
| 실제 기기 공격 | ✅ 2026년 4월 기준 문서화된 공격 없음 |
| 무기화된 익스플로잇 | ❌ 확인된 무기화 익스플로잇 없음; PoC는 실제 공격자에게 사용 불가 |
| 사기성 익스플로잇 판매 | ⚠️ 보고됨 — 작동하는 익스플로잇이 아닌 악성코드/사기일 가능성 높음 |
| 악성코드 연관성 | ⚠️ 일부 출처에서 Airstalk 및 Chrysaor 언급 — 확인되지 않음, 주의 필요 |
| LineageOS 패치 | ✅ LineageOS 소스에 통합됨 |
# 1. 패치 레벨 확인
adb shell getprop ro.build.version.security_patch
# → 표시: 2025-11-01 또는 그 이후
hardened_malloc 및 HW 메모리 태깅이 이 클래스의 결함을 완화소유하거나 명시적 테스트 허가를 받은 기기에서만 테스트하십시오. 프로덕션 네트워크와 연결되지 않은 격리된 랩을 사용하십시오. 조정된 공개 절차를 따르십시오. 무기화된 익스플로잇 코드를 절대 게시하지 마십시오.
| 단계 | 동작 | 요구 사항 |
|---|---|---|
| 1. 페어링 | 공격자가 피해자에게 BT 페어링 수락 유도 | 피해자가 페어링 수락 |
| 2. 패킷 제작 | 공격자가 변형된 블루투스 HFP SDP 패킷 생성 | 없음 |
| 3. 전송 | 블루투스 채널을 통해 전송 | 근접성 / BT 범위 |
| 4. 수신 | 기기가 패킷 수신 (추가 사용자 작업 없음) | HFP 헤드셋 모드의 패치되지 않은 Android 13–16 |
| 5. 처리 | 블루투스 HFP 핸들러가 SDP 오류 응답 처리 | 취약한 코드 경로 |
| 6. Use-After-Free | 해제된 p_disc_db 포인터 참조, 공격자가 포인터 제어 | 메모리 레이아웃 가정 |
| 7. 실행 | 블루투스 프로세스 컨텍스트에서 임의 코드 실행 | ASLR 우회 필요 |
| 8. 지속성 | 악성코드 설치, 데이터 유출, 피벗 | 전체 기기 제어 |
sequenceDiagram
participant Attacker as 공격자
participant BT as 블루투스 채널
participant Device as Android 기기 (헤드셋 모드)
participant System as 블루투스 HFP 핸들러
Attacker->>Device: 블루투스 페어링 요청
Device-->>Attacker: 피해자가 페어링 수락
Attacker->>BT: 변형된 HFP SDP 패킷 전송
BT->>Device: 패킷 전달 (추가 상호 작용 없음)
Device->>System: bta_hf_client_sdp_cback(오류)
Note over System: p_disc_db 해제, 댕글링 포인터 남음
Note over System: ⚠️ Use-After-Free 트리거
System-->>Device: 손상된 메모리 / 댕글링 포인터
Device->>System: 공격자가 제어하는 코드 실행
System->>Attacker: 원격 셸 / 데이터 유출
Note over Device,System: 완전한 RCE 달성
graph TD
A[Google 패치 출시\n2025년 11월 1/5일] --> B{OEM 통합}
B --> C[삼성, 원플러스 등]
B --> D[Google Pixel]
B --> E[LineageOS ✅ 패치됨]
B --> F[GrapheneOS ✅ 패치됨\n+ hardened_malloc 완화]
C --> G[월간 보안 업데이트]
D --> H[Pixel OTA 푸시]
G & H & E & F --> I[사용자 업데이트 설치]
I --> J[패치 레벨: 2025-11-01+]
J --> K[✅ CVE-2025-48593 완화됨]
style A fill:#1976d2,color:#fff
style K fill:#1b5e20,color:#fff
style I fill:#ff9800,color:#fff
graph LR
subgraph "예방"
P1[2025년 11월 패치 적용]
P2[사용하지 않는 블루투스 비활성화]
P3[Google Play 프로텍트]
P4[알 수 없는 BT 페어링 거절]
P5[GrapheneOS / 강화된 빌드 사용]
end
subgraph "탐지"
D1[비정상 BT 트래픽 모니터링]
D2[블루투스 서비스 충돌 감시]
D3[엔드포인트 포렌식]
end
subgraph "대응"
R1[기기 격리]
R2[OTA 업데이트 강제]
R3[Google/OEM에 신고]
end
P1 & P2 & P3 & P4 & P5 --> D1 & D2 & D3 --> R1 & R2 & R3
style P1 fill:#1b5e20,color:#fff
style R1 fill:#b71c1c,color:#fff
| CVE | 심각도 | 유형 | 영향을 받는 버전 | 상태 |
|---|---|---|---|---|
CVE-2025-48581 | 높음 | 권한 상승(EoP) | Android 16 전용 | 2025년 11월 패치됨 |
CVE-2025-48633 | 높음 | 정보 유출 | Android Framework | ⚠️ 활발히 악용됨 — CISA KEV 2025년 12월 2일 |
CVE-2025-48572 | 높음 | 권한 상승(EoP) | Android Framework | ⚠️ 활발히 악용됨 — CISA KEV 2025년 12월 2일 |
CVE-2025-48633 및 CVE-2025-48572는 2025년 12월 2일 CISA 알려진 악용 취약점(KEV) 카탈로그에 추가되었습니다. 미국 연방 기관은 2025년 12월 23일까지 패치를 적용해야 했습니다.