WWW2Exec - sips ICC Profile Out-of-Bounds Write (CVE-2024-44236)
Reading time: 3 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
개요
Apple macOS Scriptable Image Processing System (sips
) ICC 프로파일 파서에서 발생하는 경계 초과 쓰기 취약점 (macOS 15.0.1, sips-307)으로, lutAToBType
(mAB
) 및 lutBToAType
(mBA
) 태그의 offsetToCLUT
필드에 대한 부적절한 검증으로 인해 발생합니다. 조작된 ICC 파일은 힙 버퍼를 넘어 최대 16바이트까지 제로 쓰기를 유발하여 힙 메타데이터 또는 함수 포인터를 손상시키고 임의 코드 실행을 가능하게 합니다 (CVE-2024-44236).
취약한 코드
취약한 함수는 할당된 버퍼 내에 있는지 확인하지 않고 공격자가 제어하는 오프셋에서 시작하여 16바이트를 읽고 제로화합니다:
// Pseudocode from sub_1000194D0 in sips-307 (macOS 15.0.1)
for (i = offsetToCLUT; i < offsetToCLUT + 16; i++) {
if (i > numberOfInputChannels && buffer[i] != 0)
buffer[i] = 0;
}
오직 offsetToCLUT <= totalDataLength
체크만 수행됩니다. offsetToCLUT == tagDataSize
로 설정하면, 루프가 buffer
의 끝에서 16바이트를 초과하여 인덱싱되어 인접한 힙 메타데이터가 손상됩니다.
Exploitation Steps
- 악성
.icc
프로파일 작성:
- 서명
acsp
와 단일lutAToBType
또는lutBToAType
태그 항목으로 ICC 헤더(128바이트)를 빌드합니다. - 태그 테이블에서
offsetToCLUT
를 태그의size
(tagDataSize
)와 같게 설정합니다. - 힙 메타데이터를 덮어쓰도록 태그 데이터 블록 바로 뒤에 공격자가 제어하는 데이터를 배치합니다.
- 파싱 트리거:
sips --verifyColor malicious.icc
- 힙 메타데이터 손상: OOB 제로 쓰기가 할당자 메타데이터 또는 인접 포인터를 덮어써서 공격자가 제어 흐름을 탈취하고
sips
프로세스의 컨텍스트에서 임의 코드 실행을 달성할 수 있게 합니다.
Impact
성공적인 악용은 취약한 sips
유틸리티가 실행되는 macOS 시스템에서 사용자 권한으로 원격 임의 코드 실행을 초래합니다.
Detection
- 일반 프로토콜(FTP, HTTP/S, IMAP, SMB, NFS, SMTP)에서 파일 전송을 모니터링합니다.
- 서명
acsp
가 있는 전송된 파일을 검사합니다. - 각
mAB
또는mBA
태그에 대해Offset to CLUT
필드가Tag data size
와 같은지 확인합니다. - 이 조건이 충족되면 의심스러운 것으로 표시합니다.
References
- ZDI 블로그: CVE-2024-44236: Apple macOS sips 유틸리티의 원격 코드 실행 취약점 https://www.thezdi.com/blog/2025/5/7/cve-2024-44236-remote-code-execution-vulnerability-in-apple-macos
- Apple 2024년 10월 보안 업데이트 (CVE-2024-44236 패치 포함) https://support.apple.com/en-us/121564
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.