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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/dark-life944/cve-2025
Memory ForensicsVulnerability AnalysisExploitationFuzzingLearning & EducationBinary Exploitation
GitHubdark-life944/cve-2025

CVE-2025

이것은 IOS 0click CVE-2025-43300에 대한 POC입니다.

저장소 보기
151년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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

개요

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

취약점 세부 정보

근본 원인

이 취약점은 DNG(디지털 네거티브) 파일의 메타데이터/스트림 불일치에서 비롯됩니다:

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

메모리 손상 흐름

root@kitploit:~
1. Parser reads SamplesPerPixel from TIFF metadata (e.g., 2 components)
2. System allocates buffer: width × height × 2 components
3. JPEG decoder reads SOF3 component count (e.g., 1 component)
4. Decoder writes data based on inconsistent assumptions
5. Buffer overflow occurs when more data is written than allocated

공격 벡터

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

도구 개요

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

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

용도: 취약점 조건을 식별하기 위해 DNG 파일 구조를 분석합니다

주요 기능:

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

사용법:

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

출력:

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

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

용도: 특정 바이트를 안전하게 수정하여 개념 증명 파일을 생성합니다

주요 기능:

  • 수정 전에 예상 바이트 값을 검증합니다
  • 파일 추적을 위한 SHA256 해시를 생성합니다
  • 바이너리 diff 보고서를 생성합니다
  • 우발적 손상을 방지하기 위한 안전 검사를 구현합니다
  • 수동 및 자동 POC 생성을 모두 지원합니다

사용법:

root@kitploit:~
# Create POC using known vulnerable offsets
python3 hex_modifier.py create-poc <input.dng>

# Manual byte modification
python3 hex_modifier.py modify <input.dng> <offset> <old_byte> <new_byte> <output.dng>

# Generate diff report
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 Lossless 디코더가 1개 구성 요소의 SOF3를 만납니다
    • 파싱 로직이 실제 데이터 크기와 예상 데이터 크기 간에 혼란을 겪습니다
    • 불일치한 가정에 기반하여 데이터를 쓰려고 시도합니다
  3. 메모리 손상:

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

파일 형식 세부 사항

DNG 파일은 JPEG Lossless 스트림이 포함된 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 Header → IFD Chain → SubIFDs → Image Data
├── Metadata Tags (SamplesPerPixel, Compression, etc.)
├── JPEG Lossless Streams (SOF3 markers)
└── Pixel Data (compressed)

주요 취약점 위치

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

테스트 지침

안전한 테스트 환경

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

기대 동작

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

기술 참조

파일 형식 문서

  • TIFF 6.0 사양: 태그 구조 및 IFD 형식
  • DNG 사양: Adobe 디지털 네거티브 형식
  • JPEG 표준: 무손실 압축(ITU-T T.87)

보안 연구

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

고지 사항: 이 연구는 교육 및 방어적 보안 목적으로만 제공됩니다. 사용자는 관련 법률 및 윤리 지침 준수에 대한 책임이 있습니다.

참고

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

도구 다운로드