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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-0013-poc — CVE-2026-0013 Android EoP PoC - 보안 연구를 위한 컴파일된 아티팩트 (inforcqb/cve-2026-0013-exploit의 파생물) | Kitploit
도구/GitHubGitHub/xiaobailovesstirring/cve-2026-0013-poc
Android SecurityPrivilege EscalationVulnerability AnalysisExploitationMobile Security
GitHubxiaobailovesstirring/cve-2026-0013-poc

cve-2026-0013-poc

CVE-2026-0013 Android EoP PoC - 보안 연구를 위한 컴파일된 아티팩트 (inforcqb/cve-2026-0013-exploit의 파생물)

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
1일 전아직 검토되지 않음

CVE-2026-0013

Android DocumentsUI Confused Deputy 취약점 - 보안 연구 검증 프로젝트

Build Status

중요 공지

본 저장소는 파생 컴파일 저장소로, 원본 메인 저장소와 종속 관계를 구성합니다.

역할저장소설명
메인 저장소inforcqb/cve-2026-0013-exploit원본 취약점 연구
본 저장소XiaoBaiLovesStirring/cve-2026-0013-poc클라우드 컴파일 산출물 배포

보안 프로토콜

본 저장소에 접근하기 전에 반드시 SECURITY_PROTOCOL.md를 읽고 이해하십시오.

주요 사항:

  • 본 저장소는 소스 코드, 공격 도구 또는 취약점 악용 프레임워크를 제공하지 않습니다.
  • 컴파일 산출물은 보안 연구 검증 샘플로, 학술 연구에만 사용됩니다.
  • 어떠한 경제적 손실, 법적 결과도 저장소 생성자와 무관합니다.
  • 사용자는 전적인 책임을 집니다.

빠른 시작

GitHub Pages: https://XiaoBaiLovesStirring.github.io/cve-2026-0013-poc/

컴파일 트리거: https://github.com/XiaoBaiLovesStirring/cve-2026-0013-poc/actions

산출물 받기: git clone --branch artifacts https://github.com/XiaoBaiLovesStirring/cve-2026-0013-poc.git

업데이트 공지

v1.0.4 (2026-08-23) - EXTRA_INTENT 대신 실행되는 자체 컴포넌트

변경: DocumentsUI가 대신 실행하는 targetIntent를 새로 추가된 자체 컴포넌트 IdTestActivity로 지정합니다. 이 컴포넌트는 id를 실행하고 실행 주체와 결과를 logcat, 알림 바에 기록하여 두 가지 핵심 사실을 실측하는 데 사용됩니다:

  1. OPPO의 PickActivity가 실제로 Intent.EXTRA_INTENT를 소비하고 대상 컴포넌트를 대신 실행하는지 여부
  2. 대신 실행된 컴포넌트가 실제로 어떤 UID/프로세스에서 실행되는지

메커니즘 설명(중요): Android 격리 모델에 따르면, 타사 앱의 모든 컴포넌트는 누가 실행하든 자체적으로 선언한 프로세스/UID 내에서만 실행됩니다. DocumentsUI가 대신 실행한다고 해도 IdTestActivity는 여전히 com.example.cve20260013exploit 자체의 UID(예: u0_a702/10702)로 실행되며, DocumentsUI의 uid=10054로 자동 변경되지 않습니다. 전체 APK가 10054를 얻으려면 sharedUserId="android.uid.documentsui"(system 서명 필요, 타사는 획득 불가) 또는 root 환경이 필요합니다. v1.0.4의 가치는 EXTRA_INTENT가 소비되는지 여부와 대신 실행된 실제 주체를 검증하는 데 있습니다.

v1.0.3 (2026-08-23) - 트리거 체인 수정(EXTRA_INTENT 제거됨)

문제: OPPO/ColorOS에서 DocumentsUI의 PickActivity는 호출자가 전달한 Intent.EXTRA_INTENT를 더 이상 소비하지 않습니다. 실측에서 mCallingUid는 여전히 호출자 u0_a702이며, PickActivity는 자체 선택 화면만 렌더링한 후 중지됩니다. DocumentsUI 신분(uid=10054)으로 대신 실행되는 대상 동작이 전혀 없어, 기존 Confused Deputy 체인은 사실상 끊어졌습니다.

수정(트리거 체인 재설계):

  • '하드코딩된 클래스명 + EXTRA_INTENT' 방식을 폐기하고, 시스템 Activity Resolver가 합법적인 Intent(ACTION_OPEN_DOCUMENT / ACTION_GET_CONTENT + CATEGORY_OPENABLE + */*)에서 DocumentsUI를 해석하도록 변경
  • OPPO 개조 엔트리 picker.PickActivity와 네이티브 엔트리 PickActivity에 대한 명시적 지정 폴백을 유지하여, 엔트리를 찾지 못해 크래시되는 것을 방지
  • DocumentsUI가 반환하는 content:// 임시 권한 URI를 통해 권한 호스트 신원을 역추적(probeUriGrant)하여, 권한 부여자 관점에서 Confused Deputy 성립 여부를 검증
  • 트리거 체인 단계별 계측(resolver 해석 결과 + 최종 실행 컴포넌트)을 logcat과 알림 바에 기록하여, 기기에서 직접 체인 경로를 확인할 수 있도록 함

메커니즘 설명: 앱 자체가 DocumentsUI 프로세스로 하여금 임의 명령을 대신 실행하게 할 수는 없습니다. Confused Deputy의 '권한 상승'은 DocumentsUI가 자신의 uid로만 획득할 수 있는 권한 리소스를 대신 보유/전달하게 하는 데 있습니다. 따라서 v1.0.3은 앱 자체 프로세스에서 id를 실행하는 대신 '누가 DocumentsUI가 부여한 URI 권한을 획득했는지'를 검증하도록 변경되었습니다.

컴파일 수정 기록: 첫 빌드가 실패했습니다. getPackageManager().resolveActivity()의 반환 타입이 ComponentName이 아닌 ResolveInfo여서 error: incompatible types: ResolveInfo cannot be converted to ComponentName 오류가 발생했습니다. ResolveInfo.activityInfo에서 packageName/name을 추출하여 ComponentName을 구성하는 방식으로 수정한 후 통과했습니다.

v1.0.2 (2026-08-23) - id 명령 실행 및 알림 바에 표시

변경: 개념 증명 동작을 'Termux 실행'에서 'Confused Deputy 체인 트리거 후 id 명령을 실행하고 결과를 시스템 알림 바에 표시'로 변경했습니다.

  • DocumentsUI Confused Deputy 체인 트리거 후 앱 내에서 id 명령 실행(sh -c id, id, /system/bin/id, /system/xbin/id 등 여러 경로 시도)
  • uid/gid/groups 등 실행 결과를 알림 바에 표시
  • 제조사 개조 엔트리 폴백 로직 유지(picker.PickActivity → 네이티브 .PickActivity)
  • 알림 전송을 위해 Android 13+ POST_NOTIFICATIONS 권한 추가

v1.0.1 (2026-08-23) - 제조사 개조 엔트리 대응

문제: 다수 제조사(예: OPPO)가 DocumentsUI의 클래스 경로를 개조하여 네이티브 엔트리 com.android.documentsui.PickActivity이(가) com.android.documentsui.picker.PickActivity(으)로 이동되었습니다. 이로 인해 구버전 컴파일 산출물이 대상 기기에서 취약점 악용 엔트리를 찾지 못했습니다.

수정:

  • 기본 악용 엔트리를 com.android.documentsui.picker.PickActivity(으)로 업데이트
  • 엔트리 사용 가능 여부 감지를 추가하여, 하위 패키지 엔트리가 존재하지 않으면 자동으로 네이티브 경로 .PickActivity(으)로 폴백
  • 폴백 판단 로직: 개조 엔트리를 사용할 수 없다고 감지되면 로그를 기록하고 네이티브 경로를 시도

컴파일 실패 문제 해결 가이드(중요):

  • 클라우드 컴파일이 실패하면 먼저 GitHub Actions 실행 로그를 확인하여 구체적인 오류를 파악하십시오
  • '엔트리를 찾을 수 없음 / Activity not found' 유형의 오류가 발생하면 대상 제조사가 DocumentsUI 클래스 경로를 개조했음을 의미합니다
  • dumpsys package com.android.documentsui 또는 Activity Resolver Table을 통해 제조사가 개조한 실제 엔트리 클래스명을 직접 확인한 후, ExploitActivity.java의 setClassName 매개변수를 수정하고 푸시하여 재컴파일을 트리거하십시오

취약점 정보

CVE-2026-0013 | HIGH (CVSS 8.4) | CWE-441 | Android 14-16 | DocumentsUI PickActivity

수정 공지: Android Security Bulletin 2026-03-01

도구 다운로드