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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-64747 — CVE-2026-64747에 대한 근본 원인 분석 및 도달 가능성 PoC로, AppleAVE2 커널 확장의 버퍼 오버플로우입니다. 역분석된 IOKit 와이어 프로토콜, 오버플로우 계산, 그리고 configure 경로를 구동하는 사용자 공간 PoC를 포함합니다. | Kitploit
도구/GitHubGitHub/eddinos2/cve-2026-64747
Exploit FrameworksVulnerability AnalysisExploitationReverse EngineeringHardware SecurityBinary Exploitation
GitHubeddinos2/cve-2026-64747

CVE-2026-64747

CVE-2026-64747에 대한 근본 원인 분석 및 도달 가능성 PoC로, AppleAVE2 커널 확장의 버퍼 오버플로우입니다. 역분석된 IOKit 와이어 프로토콜, 오버플로우 계산, 그리고 configure 경로를 구동하는 사용자 공간 PoC를 포함합니다.

저장소 보기
1일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-64747 — AppleAVE2 커널 드라이버: 와이어 포맷 + 도달 가능성 PoC

CVE-2026-64747에 대한 근본 원인 분석 및 macOS 도달 가능성 개념 증명(PoC)입니다. macOS 26.6(kext 905.40.1)에서 수정된 AppleAVE2 비디오 인코더 커널 확장(com.apple.driver.AppleAVE2)의 버퍼 오버플로우입니다.

AppleAVE2 — 영향: 앱이 커널 권한으로 임의 코드를 실행할 수 있을 수 있음. 인코더의 작업 버퍼 크기 계산에서 버퍼 오버플로우가 발견되었으며, 개선된 경계 검사를 통해 해결되었습니다.

이 저장소는 AppleAVE2UserClient의 완전히 리버스 엔지니어링된 IOKit 와이어 프로토콜(세션 생성 → 구성 → 프레임별 처리), 정확한 오버플로우 지점(HEVC 10비트 멀티패스 경로의 32비트 LRB 작업 버퍼 크기 계산기), 그리고 사용자 클라이언트를 열고 커널의 검증 스택을 통해 구성 경로를 구동하며 취약한 빌드(905.36.1)와 수정된 빌드(905.40.1) 간의 차이를 입증하는 사용자 공간 PoC를 문서화합니다.

등급(정직하게): 도달 가능성 + 전체 프로토콜 RE + 분석적으로 입증된 오버플로우 수학. RCE 아님, 실제 오버플로우 시연 없음 — 실험실 호스트는 수정된 kext를 실행하며, (두 빌드 모두에 존재하는) 하드웨어 기능 게이트가 취약한 계산기가 실행되기 전에 오버플로우를 유발하는 치수를 거부합니다. 오버플로우를 발생시키려면 기능 테이블이 필요한 치수를 허용하는 대상이 필요합니다(FIRE_READY.md §5-6 참조).

목차

파일설명
poc_ave2_reach.cIOKit 사용자 공간 PoC: AppleAVE2UserClient를 열고, 세션을 생성하고, 리버스된 구조체로 구성을 구동합니다. 자격(entitlement) 불필요.
ave2_wire.h리버스된 와이어 포맷: 셀렉터 번호, 구조체 크기, 중요한 모든 필드 오프셋(너비/높이, encType, views/layers, chroma, 비트 심도)
WIRE_FORMAT.md와이어 포맷 참조: 디스패치 테이블 레이아웃, PAC 특이점, 셀렉터별 계약
FIRE_READY.md오버플로우 수학(모드-5 LRB 계산기), 이를 트리거하는 정확한 입력, 패치된 호스트 실행 증거, 남은 미지 사항
evidence/패치된 호스트 실행의 ioreg 캡처 + 커널 로그(검증 스택 진행)

빌드 및 실행

root@kitploit:~
clang -O0 -g -arch arm64 -framework IOKit -framework CoreFoundation \
      -o poc_ave2_reach poc_ave2_reach.c
./poc_ave2_reach        # 루트 불필요; 서비스는 사용자 컨텍스트에서 열림

한 문단으로 설명하는 버그

AppleAVE2의 인코더는 오버플로우 검사 없이 32비트 산술로 LRB(룩어사이드 참조 버퍼) 작업 버퍼 크기를 계산합니다. HEVC 10비트 멀티패스 경로(param_2 = 5로 호출되는 계산기)에서 64656×8080과 같은 치수(드라이버의 w*h ≤ 0x1FFE0000 클램프를 통과함)는 구성 요소 합계가 0x80000000이 되게 합니다 — 부호 비트 설정. 취약한 계산기는 순수한 32비트 합계를 반환합니다. 크기는 다운스트림에서 음수로 처리되고, 과소 크기의 DART/IOMMU 버퍼가 할당되며, 인코더 DMA가 이를 초과하여 기록합니다 → 커널 힙/DART 손상 → 커널 코드 실행. 수정된 계산기는 구성 요소별 부호 검사와 64비트 합계 검사를 추가하고 LRB size overflow를 기록합니다.

주요 RE 결과

  • 메타클래스 __const 섹션에서 디코딩된 디스패치 테이블(스트라이드 0x18 = {func, inSize<<32, outSize<<32} 행, PAC 포인터 특이점 포함).
  • IOServiceOpen은 type=1을 사용해야 함(type=0 → 생성 거부).
  • sel1 = CREATE(0x920바이트 구조체: 버전 문자열 @+0x28, encType @+0x918), sel2 = DESTROY, sel4 = CONFIGURE(0x1a0a0바이트 구조체) = CVE 진입점.
  • 너비 @ 구성 입력 +0xd90, 높이 +0xd94; 구성은 IOConnectCallAsyncStructMethod를 거쳐야 함(동기 경로는 검증 전 IO_Config:337 게이트에서 거부됨).
  • 패치된 호스트에서 문서화된 전체 검증 스택 진행(실행 4-7): 비동기 게이트 → 치수 클램프 → iNumViews/iNumLayers 게이트 → 현재 오버플로우를 차단하는 장치 기능 게이트.

교육 및 방어적 연구 목적으로 제공됩니다. 이 버그는 현재 macOS에서 패치되었습니다. 소유한 하드웨어에서만 테스트하십시오.

도구 다운로드