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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-28576 — CVE-2026-28576에 대한 PoC 및 레드팀 앱으로, Android Contacts Provider의 제로 권한 SQL 인젝션을 통해 전체 연락처 데이터베이스 유출이 가능합니다. | Kitploit
도구/GitHubGitHub/aayushbankar/cve-2026-28576
Android SecurityVulnerability AnalysisExploitationMobile App PentestingData ExfiltrationPenetration TestingMobile SecurityPapers & ResearchRed Teaming
GitHubaayushbankar/cve-2026-28576

cve-2026-28576

CVE-2026-28576에 대한 PoC 및 레드팀 앱으로, Android Contacts Provider의 제로 권한 SQL 인젝션을 통해 전체 연락처 데이터베이스 유출이 가능합니다.

31일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

CVE-2026-28576: Android Contacts Provider SQL 인젝션 및 체계적 유출

개요

CVE-2026-28576은 Android Contacts Provider 프레임워크(ContactsProvider2.queryLocal())의 치명적인 접근 제어 취약점입니다. 이 결함은 선언된 권한이 전혀 없는 로컬에 설치된 비특권 애플리케이션이 전체 이름, 전화번호, 우편 주소, 이메일 주소를 포함한 기기의 전체 연락처 데이터베이스를 유출할 수 있게 합니다.

속성값
CVE IDCVE-2026-28576
GHSA IDGHSA-ph86-9mcx-3p6r
Android Bug IDA-488593616
CWECWE-89: SQL 명령에 사용되는 특수 요소의 부적절한 중화('SQL 인젝션')
CVSS v4.010.0 (치명적) - AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
EPSS 점수0.148% (4번째 백분위수)
게시일2026년 6월 17일
구성 요소Android Contacts Provider (ContactsProvider2)
공격 벡터로컬 (제로 권한 앱)
사용자 상호작용필요 없음

취약점 세부 정보

근본 원인

이 취약점은 Android Contacts Provider 프레임워크(packages/providers/ContactsProvider) 내 ContactsProvider2.queryLocal() 메서드에 존재합니다. 이 메서드는 ContentResolver.query()를 통해 전달된 selection 및 selectionArgs 매개변수를 사용하여 정제되지 않은 사용자 제어 입력으로 SQL 쿼리를 구성하여 SQL 인젝션을 허용합니다.

영향받는 코드 경로

root@kitploit:~
ContentResolver.query()
    → ContactsProvider2.query()
        → ContactsProvider2.queryLocal()  [취약]
            → SQLiteQueryBuilder.buildQuery()
                → 정제되지 않은 입력으로 원시 SQL 실행

취약한 매개변수

  • selection (String): 매개변수화되지 않은 WHERE 절
  • selectionArgs (String[]): 부적절하게 이스케이프된 인수
  • uri (Uri): content://com.android.contacts/...를 대상으로 하는 콘텐츠 URI

악용 전제 조건

  • 제로 권한 필요 - READ_CONTACTS, READ_PRIVILEGED_PHONE_STATE 또는 기타 위험한 권한 불필요
  • 사용자 상호작용 없음 - 조용한 백그라운드 악용
  • 로컬 앱 설치 - 기기에 설치된 모든 앱 (Play Store, 사이드로드 등)
  • Android 버전 - Android 17 보안 패치 (2026년 6월) 이전 버전 영향

기술 분석

SQL 인젝션 메커니즘

queryLocal() 메서드는 selection 매개변수를 적절한 매개변수화 없이 SQL WHERE 절에 직접 연결하여 처리합니다:

root@kitploit:~
// ContactsProvider2.java의 단순화된 취약 패턴
public Cursor queryLocal(Uri uri, String[] projection, String selection,
                         String[] selectionArgs, String sortOrder) {
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    qb.setTables(Tables.CONTACTS);
    
    // 취약: selection이 SQL에 직접 보간됨
    String whereClause = buildWhereClause(selection, selectionArgs);
    
    Cursor c = qb.query(db, projection, whereClause, null, null, null, sortOrder);
    return c;
}

공격자는 다음과 같은 악성 selection 매개변수를 구성합니다:

root@kitploit:~
"1=1) UNION SELECT _id, display_name, phone_number, email_address, postal_address FROM raw_contacts--"

이는 의도된 쿼리 로직을 우회하고 모든 연락처 필드를 추출합니다.

데이터 유출 범위

공격 흐름

root@kitploit:~
graph TD
    A[악성 앱 설치됨] --> B[ContentResolver.query 요청]
    B --> C[SQL 인젝션 페이로드 구성]
    C --> D[content://com.android.contacts/data 대상]
    D --> E[ContactsProvider2.queryLocal]
    E --> F[정제되지 않은 selection 매개변수]
    F --> G[SQL 인젝션 실행됨]
    G --> H[전체 연락처 DB 반환됨]
    H --> I[네트워크/로그를 통한 유출]

영향 평가

기밀성 영향: 높음

  • 전체 연락처 데이터베이스 유출
  • PII 노출: 이름, 전화번호, 이메일, 주소
  • 기업 연락처 유출 (BYOD 시나리오)
  • 사회공학 활성화 (스피어 피싱, 비싱)

무결성 영향: 높음

  • UNION/UPDATE 인젝션을 통한 잠재적 연락처 데이터 조작
  • 사회공학을 위한 연락처 스푸핑
  • 악성 연락처 삽입

가용성 영향: 높음

  • 리소스 고갈을 통한 DoS (대규모 쿼리 결과)
  • 데이터베이스 잠금/차단
  • 잘못된 쿼리를 통한 프로바이더 충돌

규제 영향

  • GDPR: 개인 데이터 침해 (Art. 33 통지 필요)
  • CCPA: 무단 개인 정보 접근
  • HIPAA: 의료 연락처가 저장된 경우 잠재적 PHI 노출
  • PCI DSS: 연락처 메모의 카드 소지자 데이터 노출

영향받는 버전

Android 버전상태
Android 14 (U)취약
Android 15 (V)취약
Android 16 (W)취약
Android 17 (2026년 6월+)패치됨

벤더 권고

  • Google Android Security Bulletin: Android 17 (2026년 6월)
  • GitHub Advisory: GHSA-ph86-9mcx-3p6r
  • NVD: CVE-2026-28576 (2026년 6월 17일 게시)

탐지 및 완화

탐지 규칙

YARA 규칙

root@kitploit:~
rule Android_ContactsProvider_SQLi_CVE_2026_28576 {
    meta:
        description = "Detects SQL injection payloads targeting ContactsProvider"
        cve = "CVE-2026-28576"
        severity = "critical"
    strings:
        $s1 = "content://com.android.contacts" nocase
        $s2 = "UNION SELECT" nocase
        $s3 = "raw_contacts" nocase
        $s4 = "data1" nocase
        $s5 = "1=1" nocase
    condition:
        $s1 and 2 of ($s2, $s3, $s4, $s5)
}

네트워크 탐지 (Suricata)

root@kitploit:~
alert http any any -> any any (
    msg:"CVE-2026-28576 Contacts Exfiltration";
    flow:established,to_server;
    content:"contacts";
    http.uri;
    pcre:"/UNION.*SELECT.*raw_contacts/i";
    classtype:web-application-attack;
    sid:202628576;
    rev:1;
)

완화 전략

  1. 즉시: Android 17 2026년 6월 보안 패치 적용
  2. 임시 방편: SELinux 정책을 통해 ContentResolver.query() 제한
  3. 모니터링: 비정상적인 selection 매개변수에 대한 ContactsProvider 쿼리 로그 감사
  4. 앱 검증: READ_CONTACTS 권한 없이 content://com.android.contacts URI 사용을 앱에서 스캔

참고 자료

  • GitHub Advisory GHSA-ph86-9mcx-3p6r
  • NVD CVE-2026-28576
  • Android Security Bulletin - Android 17
  • Android Bug A-488593616
  • CWE-89: SQL Injection

CVE-2026-28576 연구 저장소를 위해 생성된 문서 최종 업데이트: 2025년 9월

도구 다운로드
데이터 범주노출된 필드
신원display_name, phonetic_name, nickname, company, title
전화번호number, type (휴대폰, 집, 직장, 팩스 등), label
이메일 주소address, type (집, 직장, 기타), label
우편 주소street, city, region, postcode, country, type
구조화된 데이터mimetype, data1–data15, sync1–sync4
메타데이터contact_id, raw_contact_id, version, dirty, deleted