Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-43300 — This is POC for IOS 0click CVE-2025-43300 | Kitploit
도구/GitHubGitHub/hunters-sec/cve-2025-43300
Embedded Systems SecurityiOS SecurityMemory ForensicsVulnerability AnalysisExploitationFuzzingMobile SecurityPapers & ResearchLearning & EducationBinary Exploitation
GitHubhunters-sec/cve-2025-43300

CVE-2025-43300

116290년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

This is POC for IOS 0click CVE-2025-43300

저장소 보기

CVE-2025-43300: iOS/macOS DNG 이미지 처리 메모리 손상

개요

CVE-2025-43300은 Apple의 이미지 처리 프레임워크에서 발견된 심각한 메모리 손상 취약점으로, iOS 18.6.1 및 macOS 시스템에 영향을 미칩니다. 이 취약점은 RawCamera.bundle 내 JPEG 무손실 압축 해제 코드에 존재하며, DNG 파일 내 TIFF 메타데이터와 JPEG 스트림 매개변수 간 불일치로 인해 발생합니다.

취약점 세부 정보

근본 원인

이 취약점은 DNG(Digital Negative) 파일의 메타데이터/스트림 불일치에서 비롯됩니다:

  1. TIFF 헤더의 SamplesPerPixel 메타데이터는 예상 색상 구성 요소를 나타냅니다.
  2. JPEG 무손실 스트림의 SOF3 구성 요소 수는 실제 데이터 구성 요소를 지정합니다.
  3. 이 값들이 다를 경우 할당과 처리가 정렬되지 않습니다.

메모리 손상 흐름

root@kitploit:~
1. 파서가 TIFF 메타데이터에서 SamplesPerPixel을 읽음 (예: 2개 구성 요소)
2. 시스템 버퍼 할당: width × height × 2 구성 요소
3. JPEG 디코더가 SOF3 구성 요소 수를 읽음 (예: 1개 구성 요소)
4. 디코더가 일관되지 않은 가정에 따라 데이터를 씀
5. 할당된 것보다 더 많은 데이터가 기록되어 버퍼 오버플로우 발생

공격 벡터

  • 제로 클릭 취약점: 사용자 상호 작용 불필요
  • 자동 처리: DNG 파일을 보거나, 가져오거나, 수신하면 트리거됨
  • 교차 플랫폼 영향: iOS 및 macOS 시스템 모두에 영향
  • 메모리 손상: 애플리케이션 충돌 또는 잠재적 코드 실행으로 이어질 수 있음

도구 개요

이 저장소에는 CVE-2025-43300을 분석 및 재현하기 위한 두 가지 Python 도구가 포함되어 있습니다.

1. DNG 취약점 분석기 (dng_vulnerability_analyzer.py)

목적: DNG 파일 구조를 분석하여 취약점 조건 식별

주요 기능:

  • IFD 및 SubIFD를 포함한 TIFF/DNG 파일 구조 파싱
  • SamplesPerPixel 메타데이터 태그 위치 찾기
  • JPEG 무손실 SOF3 마커 및 구성 요소 수 식별
  • 메타데이터/스트림 불일치 감지
  • 정확한 바이트 오프셋 보고

사용법:

root@kitploit:~
python3 dng_vulnerability_analyzer.py <dng_file>

출력:

  • 파일 구조 분석
  • 메타데이터 태그 위치 및 값
  • JPEG 스트림 구성 요소 정보
  • 취약점 평가
  • PoC 제작을 위한 특정 오프셋

2. 안전한 16진수 수정기 (hex_modifier.py)

목적: 특정 바이트를 안전하게 수정하여 개념 증명 파일 생성

주요 기능:

  • 수정 전 예상 바이트 값 확인
  • 파일 추적을 위한 SHA256 해시 생성
  • 바이너리 diff 보고서 생성
  • 우발적 손상을 방지하기 위한 안전 점검 구현
  • 수동 및 자동 PoC 제작 모두 지원

사용법:

root@kitploit:~
# 알려진 취약한 오프셋을 사용하여 PoC 생성
python3 hex_modifier.py create-poc <input.dng>

# 수동 바이트 수정
python3 hex_modifier.py modify <input.dng> <offset> <old_byte> <new_byte> <output.dng>

# Diff 보고서 생성
python3 hex_modifier.py diff <original.dng> <modified.dng>

PoC 제작 과정

1단계: 대상 파일 분석

root@kitploit:~
python3 dng_vulnerability_analyzer.py IMGP0847.DNG

다음 항목을 식별합니다:

  • SamplesPerPixel 메타데이터 위치
  • JPEG SOF3 구성 요소 수 위치
  • 현재 값 및 제안된 수정 사항

2단계: 취약한 샘플 생성

PoC에는 두 가지 특정 바이트 수정이 필요합니다:

  1. SamplesPerPixel 메타데이터 증가 (일반적으로 1에서 2로)
  2. SOF3 구성 요소 수 감소 (일반적으로 2에서 1로)
root@kitploit:~
python3 hex_modifier.py create-poc IMGP0847.DNG

3단계: PoC 확인

root@kitploit:~
python3 dng_vulnerability_analyzer.py vuln_poc_IMGP0847.dng

불일치가 존재하고 취약점이 트리거됨을 확인합니다.

PoC가 작동하는 이유

기술적 메커니즘

  1. 할당 단계:

    • 이미지 파서가 SamplesPerPixel = 2를 읽음
    • 2개 구성 요소 분량의 픽셀 데이터를 위한 버퍼 할당
    • 버퍼 크기 = image_width × image_height × 2
  2. 처리 단계:

    • JPEG 무손실 디코더가 1개 구성 요소의 SOF3를 만남
    • 구문 분석 논리가 실제 데이터 크기와 예상 데이터 크기 사이에서 혼란스러워짐
    • 일관되지 않은 가정에 따라 데이터 쓰기 시도
  3. 메모리 손상:

    • 원래 할당된 것보다 더 많은 데이터가 버퍼에 기록됨
    • 버퍼 오버플로우가 인접 메모리 영역을 손상시킴
    • 애플리케이션 충돌 또는 잠재적 코드 실행 발생

파일 형식 세부 사항

DNG 파일은 임베디드 JPEG 무손실 스트림이 있는 TIFF 컨테이너 형식을 사용합니다:

  • TIFF 메타데이터는 이미지 속성 및 색상 정보를 설명합니다.
  • JPEG 스트림은 압축된 픽셀 데이터를 포함합니다.
  • 메타데이터와 스트림 콘텐츠 사이에는 신뢰 관계가 존재합니다.
  • 검증 차이로 인해 일치하지 않는 값이 처리 코드에 도달할 수 있습니다.

영향 평가

심각도: 치명적

  • CVSS 점수: 높음 (제로 클릭, 메모리 손상, 광범위한 영향)
  • 영향받는 시스템: iOS 18.6.1 및 유사한 이미지 처리를 사용하는 macOS 시스템
  • 공격 벡터: 네트워크/로컬 파일 전송
  • 사용자 상호 작용: 필요 없음
  • 범위: DNG 파일을 처리하는 모든 장치

실제 시나리오

  • DNG 파일이 포함된 이메일 첨부 파일
  • AirDrop 전송
  • 클라우드 사진 동기화
  • 사진가 샘플의 웹 다운로드
  • 메시징 앱 미디어 공유

완화 및 패치

공급업체 대응

  • iOS 18.6.2에서 수정됨: Apple이 적절한 메타데이터 검증을 구현함
  • macOS 업데이트: macOS 이미지 처리에 유사한 수정 적용
  • 근본 원인: 메타데이터와 스트림 매개변수 간의 일관성 검사 추가

권장 완화 조치

  1. 시스템 업데이트: iOS 18.6.2 이상 설치
  2. 입력 검증: 사용자 정의 파서에서 메타데이터 일관성 확인
  3. 경계 검사: 엄격한 버퍼 크기 검증 구현
  4. 퍼징: 파일 형식 파서의 정기적인 테스트

파일 구조 및 기술 세부 정보

TIFF/DNG 구조

root@kitploit:~
TIFF 헤더 → IFD 체인 → SubIFD → 이미지 데이터
├── 메타데이터 태그 (SamplesPerPixel, Compression 등)
├── JPEG 무손실 스트림 (SOF3 마커)
└── 픽셀 데이터 (압축됨)

주요 취약점 위치

  • SamplesPerPixel 태그: IFD 구조의 TIFF 태그 0x0115
  • SOF3 마커: JPEG 무손실 프레임 시작 (0xFFC3)
  • 구성 요소 수: SOF3 마커에서 바이트 오프셋 +9
  • 중요 불일치: 태그 값 ≠ 구성 요소 수인 경우

테스트 지침

안전한 테스트 환경

  1. 격리된 시스템 사용: VM 또는 전용 테스트 장치
  2. 스냅샷 생성: PoC 파일 테스트 전
  3. 충돌 모니터링: 시스템 로그 및 충돌 보고서 확인
  4. 네트워크 격리: 의도하지 않은 파일 공유 방지

예상 동작

  • 취약한 시스템: 애플리케이션 충돌, 메모리 손상 오류
  • 패치된 시스템: 정상적인 오류 처리 또는 올바른 처리
  • 로그 표시기: 메모리 액세스 위반, 세그멘테이션 오류

기술 참조

파일 형식 문서

  • TIFF 6.0 사양: 태그 구조 및 IFD 형식
  • DNG 사양: Adobe Digital Negative 형식
  • JPEG 표준: 무손실 압축 (ITU-T T.87)

보안 연구

  • 메모리 손상 기법: 버퍼 오버플로우 기초
  • 파일 형식 퍼징: 자동화된 취약점 발견
  • 파서 보안: 입력 검증 모범 사례

면책 조항: 이 연구는 교육 및 방어적 보안 목적으로만 제공됩니다. 사용자는 해당 법률 및 윤리 지침을 준수할 책임이 있습니다.

참고

충돌이 트리거되는 데 약 1~3분이 소요됩니다. 재미있게 즐기세요. PoC의 경우 open vuln_file.dng을 실행하여 파일을 실행하거나 미리보기만 해도 실행됩니다.

도구 다운로드