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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2019-2215 — CVE-2019-2215에 대한 개념 증명 익스플로잇, 취약한 기기에서 로컬 권한 상승을 가능하게 하는 Android 바인더 드라이버의 use-after-free 취약점입니다. | Kitploit
도구/GitHubGitHub/codecat007/cve-2019-2215
Android SecurityPrivilege EscalationExploit FrameworksVulnerability AnalysisExploitationMobile SecurityBinary Exploitation
GitHubcodecat007/cve-2019-2215

CVE-2019-2215

CVE-2019-2215에 대한 개념 증명 익스플로잇, 취약한 기기에서 로컬 권한 상승을 가능하게 하는 Android 바인더 드라이버의 use-after-free 취약점입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2019-2215

다음 문제는 https://android.googlesource.com/kernel/msm의 android-msm-wahoo-4.4-pie 브랜치(및 다른 브랜치에도 있을 수 있음)에 존재합니다:

binder 드라이버의 /drivers/android/binder.c에 있는 binder_thread 구조체의 wait 멤버에 대한 use-after-free가 있습니다.

업스트림 커밋에 설명된 바와 같이:

“binder_poll()는 작업을 위해 sleep할 수 있는 thread->wait waitqueue를 전달합니다. epoll을 사용하는 스레드가 BINDER_THREAD_EXIT을 사용하여 명시적으로 종료되면 waitqueue가 해제되지만, 해당 epoll 데이터 구조에서 제거되지는 않습니다. 이후 프로세스가 종료되면 epoll 정리 코드가 waitlist에 접근을 시도하고, 이로 인해 use-after-free가 발생합니다.”

다음 개념 증명 코드는 KASAN이 포함된 커널 빌드에서 UAF 크래시를 보여줍니다 (초기 업스트림 버그 리포트 https://lore.kernel.org/lkml/[email protected]/에서 발췌): #include <fcntl.h> #include <sys/epoll.h> #include <sys/ioctl.h> #include <unistd.h>

root@kitploit:~
    #define BINDER_THREAD_EXIT 0x40046208ul

    int main()
    {
            int fd, epfd;
            struct epoll_event event = { .events = EPOLLIN };

            fd = open("/dev/binder0", O_RDONLY);
            epfd = epoll_create(1000);
            epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &event);
            ioctl(fd, BINDER_THREAD_EXIT, NULL);
    }

이 문제는 2017년 12월 4.14 LTS 커널 [1], AOSP 안드로이드 3.18 커널 [2], AOSP 안드로이드 4.4 커널 [3], AOSP 안드로이드 4.9 커널 [4]에서 패치되었지만, 소스 코드 검토에 따르면 최신 보안 게시판이 적용된 Pixel 2는 여전히 취약합니다.

소스 코드 검토에 기반하여 취약한 것으로 보이는 다른 기기들은 (별도로 명시되지 않는 한 8.x 릴리즈 기준):

  1. Android 9 및 Android 10 미리보기(https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-wahoo-4.4-q-preview-6/)를 사용하는 Pixel 2
  2. Huawei P20
  3. Xiaomi Redmi 5A
  4. Xiaomi Redmi Note 5
  5. Xiaomi A1
  6. Oppo A3
  7. Moto Z3
  8. Oreo LG 폰 (웹사이트에 따르면 동일한 커널 사용)
  9. Samsung S7, S8, S9

우리는 이 버그가 실제 환경에서 사용되고 있다는 증거를 가지고 있습니다. 따라서 이 버그는 7일 공개 기한 규정이 적용됩니다. 7일이 경과하거나 패치가 광범위하게 제공되면(둘 중 먼저 발생하는 시점), 버그 보고서는 공개됩니다.

이 개념 증명이 빌드 walleye_kasan-userdebug 10 QP1A.191105.0035899767을 사용하는 Pixel 2에서 작동하여 KASAN 크래시를 유발함을 확인했습니다. 개념 증명 C 코드와 new.out이 첨부되었습니다. KASAN 콘솔 출력이 첨부되었습니다.

TAG 및 외부 당사자로부터 NSO 그룹에 귀속되는 Android 익스플로잇에 대한 기술 정보를 받았습니다. 이 세부 정보에는 버그 및 익스플로잇 방법론에 대한 사실이 포함되어 있으며, 이에 국한되지 않습니다:

  • Chrome 샌드박스 내에서 접근 가능한 use-after-free 취약점을 사용한 커널 권한 상승입니다.
  • 이 버그는 NSO 그룹에 의해 사용되거나 판매된 것으로 알려졌습니다.
  • Pixel 1과 2에서 작동하지만 Pixel 3 및 3a에서는 작동하지 않습니다.
  • Linux 커널 >= 4.14에서 CVE 없이 패치되었습니다.
  • CONFIG_DEBUG_LIST는 프리미티브를 깨뜨립니다.
  • CONFIG_ARM64_UAO는 익스플로잇을 방해합니다.
  • 이 취약점은 Android의 'isolated_app' SELinux 도메인 아래 Chrome의 렌더러 프로세스에서 익스플로잇 가능하므로, Binder가 취약한 구성 요소임을 의심하게 합니다.
  • 익스플로잇은 기기별 사용자 지정이 거의 또는 전혀 필요하지 않습니다.
  • 영향을 받는 기기와 받지 않는 기기 및 해당 버전 목록 등. 이 이슈의 설명에 포괄적이지 않은 목록이 있습니다.

이러한 세부 정보를 사용하여, 나는 패치를 비교하여 다른 잠재적 후보를 배제함으로써 사용된 버그가 거의 확실히 이 보고서의 버그라고 판단했습니다. 이 버그에 대한 더 자세한 설명과 식별 방법론은 시간이 나는 대로 추후 블로그 게시물에 작성될 예정입니다.

현재 익스플로잇 샘플은 없습니다. 샘플이 없으면 타임라인과 페이로드를 확인할 수 없습니다.

이 버그는 로컬 권한 상승 취약점으로, 취약한 기기의 완전한 손상을 허용합니다. 웹을 통해 익스플로잇이 전달되는 경우, 이 취약점은 샌드박스를 통해 접근 가능하므로 렌더러 익스플로잇과 페어링만 하면 됩니다.

로컬로 실행 시 이 버그를 사용하여 임의 커널 읽기/쓰기를 획득할 수 있는 방법을 보여주는 로컬 익스플로잇 개념 증명을 첨부했습니다. CVE-2019-2215를 익스플로잇하려면 신뢰할 수 없는 앱 코드 실행만 필요합니다. 또한 Pixel 2에서 실행 중인 POC의 스크린샷(success.png)을 첨부했습니다. 해당 Pixel 2는 보안 패치 레벨 2019년 9월의 Android 10 (google/walleye/walleye:10/QP1A.190711.020/5800535:user/release-keys)을 실행 중입니다.

Android의 공급업체 성명:

이 문제는 Android에서 높은 심각도로 평가되며, 자체적으로는 잠재적 익스플로잇을 위해 악성 애플리케이션 설치가 필요합니다. 웹 브라우저를 통한 다른 벡터는 추가 익스플로잇과의 연쇄가 필요합니다. Android 파트너에게 통보했으며 패치는 Android Common Kernel에서 사용할 수 있습니다. Pixel 3 및 3a 기기는 취약하지 않으며 Pixel 1 및 2 기기는 10월 업데이트의 일부로 이 문제에 대한 업데이트를 받을 예정입니다.

도구 다운로드