Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2023-20938 — CVE-2023-20938에 대한 기술적 분석 및 개념 증명(PoC) 익스플로잇으로, Android 커널의 Binder 드라이버에서 발생하는 use-after-free 취약점을 활용해 로컬 권한 상승을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/jaf0rk/cve-2023-20938
Android SecurityVulnerability AnalysisExploitationBinary Exploitation
GitHubjaf0rk/cve-2023-20938

CVE-2023-20938

CVE-2023-20938에 대한 기술적 분석 및 개념 증명(PoC) 익스플로잇으로, Android 커널의 Binder 드라이버에서 발생하는 use-after-free 취약점을 활용해 로컬 권한 상승을 가능하게 합니다.

저장소 보기
137154개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2023-20938

English

취약점 분석

  1. 클라이언트 A와 클라이언트 B가 컨텍스트 매니저 servicemanager를 통해 Binder 연결을 설정합니다.
  2. A가 node 0xbeef를 생성하고(node = binder_new_node(proc, fp);), B는 ref->target_node를 통해 node 0xbeef를 참조합니다.
  3. B가 먼저 target_node 0xbeef를 올바르게 처리하여 target_node 0xbeef를 참조하는 트랜잭션 binder_transaction을 A의 트랜잭션 큐에 저장합니다(binder_enqueue_work_ilocked(&t->work, &proc->todo);). 이로 인해 A는 해제된 댕글링 포인터를 다시 참조할 수 있습니다.
  4. B가 정렬되지 않은 offsets_size로 오류 처리 코드에 진입하고(IS_ALIGNED(tr->offsets_size, sizeof(binder_size_t))), 아직 0인 buffer_offset이 binder_transaction_buffer_release 함수에 전달되어 취약점을 트리거합니다.
  5. binder_transaction_buffer_release 함수는 binder_dec_node를 통해 binder_dec_node_nilocked 함수를 호출하여 node 0xbeef의 local_strong_refs 참조 카운터를 감소시킵니다. 그러나 node 인스턴스에는 여러 참조 카운터와 참조 목록이 있으며, 이러한 카운터가 모두 0이 되어야 해제가 트리거됩니다.
  6. B의 binder를 닫으면 binder_cleanup_ref_olocked 함수가 트리거됩니다. 이때 binder_dec_node_nilocked도 다시 호출되는데, binder_dec_node_nilocked가 true를 반환하면 node(0xbeef)를 가리키는 포인터 ref->node를 비우지 않습니다.
  7. 이후 binder_free_ref가 호출되며, binder_free_ref 함수에서 node 0xbeef가 해제됩니다.
  8. A는 binder_thread_read 함수에서 해제된 node 0xbeef를 다시 참조하게 됩니다.

추가 설명: 실제 Android 환경에서 일반 앱 권한으로는 servicemanager를 통해 서비스를 등록할 수 없지만, ITokenManager를 사용하여 두 프로세스 간의 연결을 구현할 수 있습니다. 본 테스트 케이스는 ITokenManager를 사용했습니다.

도구 다운로드