Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cve-2026-28576 — PoC и red team приложение для CVE-2026-28576 — SQL-инъекции без разрешений в Android Contacts Provider, позволяющей полностью выгрузить базу данных контактов. | Kitploit
Инструменты/GitHubGitHub/aayushbankar/cve-2026-28576
Безопасность AndroidАнализ уязвимостейЭксплуатацияПентестинг мобильных приложенийЭксфильтрация данныхТестирование на ПроникновениеМобильная безопасностьСтатьи и ИсследованияRed Teaming
GitHubaayushbankar/cve-2026-28576

cve-2026-28576

PoC и red team приложение для CVE-2026-28576 — SQL-инъекции без разрешений в Android Contacts Provider, позволяющей полностью выгрузить базу данных контактов.

31 день назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

CVE-2026-28576: SQL-инъекция в Android Contacts Provider и системная эксфильтрация данных

Краткое резюме

CVE-2026-28576 — критическая уязвимость контроля доступа в фреймворке Android Contacts Provider (ContactsProvider2.queryLocal()). Данный недостаток позволяет непривилегированному приложению, установленному локально с нулевыми объявленными разрешениями, осуществить эксфильтрацию всей базы контактов устройства, включая полные имена, номера телефонов, почтовые адреса и адреса электронной почты.

АтрибутЗначение
CVE IDCVE-2026-28576
GHSA IDGHSA-ph86-9mcx-3p6r
Android Bug IDA-488593616
CWECWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
CVSS v4.010.0 (Critical) - AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
EPSS Score0.148% (4th percentile)
Опубликовано17 июня 2026 г.
КомпонентAndroid Contacts Provider (ContactsProvider2)
Вектор атакиЛокальный (приложение с нулевыми разрешениями)
Взаимодействие с пользователемНе требуется

Детали уязвимости

Первопричина

Уязвимость существует в методе ContactsProvider2.queryLocal() в рамках фреймворка Android Contacts Provider (packages/providers/ContactsProvider). Метод конструирует SQL-запросы, используя несанитизированный ввод, контролируемый пользователем, что позволяет осуществить SQL-инъекцию через параметры selection и selectionArgs, передаваемые посредством ContentResolver.query().

Путь уязвимого кода

root@kitploit:~
ContentResolver.query()
    → ContactsProvider2.query()
        → ContactsProvider2.queryLocal()  [VULNERABLE]
            → SQLiteQueryBuilder.buildQuery()
                → Raw SQL execution with unsanitized input

Уязвимые параметры

  • selection (String): условие WHERE без параметризации
  • selectionArgs (String[]): аргументы, которые неправильно экранированы
  • uri (Uri): content URI, нацеленный на content://com.android.contacts/...

Предварительные условия эксплуатации

  • Нулевые требуемые разрешения — без READ_CONTACTS, READ_PRIVILEGED_PHONE_STATE или любых опасных разрешений
  • Отсутствие взаимодействия с пользователем — тихая фоновая эксплуатация
  • Локальная установка приложения — любое приложение, установленное на устройстве (Play Store, sideloaded и т.д.)
  • Версии Android — уязвимые версии до патча безопасности Android 17 (июнь 2026 г.)

Технический анализ

Механизм SQL-инъекции

Метод queryLocal() обрабатывает параметр selection, напрямую конкатенируя его в SQL-условие WHERE без должной параметризации:

root@kitploit:~
// Simplified vulnerable pattern in ContactsProvider2.java
public Cursor queryLocal(Uri uri, String[] projection, String selection,
                         String[] selectionArgs, String sortOrder) {
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    qb.setTables(Tables.CONTACTS);
    
    // VULNERABLE: selection directly interpolated into 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[Malicious App Installed] --> B[Request ContentResolver.query]
    B --> C[Craft SQL Injection Payload]
    C --> D[Target content://com.android.contacts/data]
    D --> E[ContactsProvider2.queryLocal]
    E --> F[Unsanitized selection parameter]
    F --> G[SQL Injection Executed]
    G --> H[Full Contacts DB Returned]
    H --> I[Exfiltrate via Network/Logs]

Оценка воздействия

Воздействие на конфиденциальность: ВЫСОКОЕ

  • Полная эксфильтрация базы контактов
  • Раскрытие PII: имена, телефоны, email, адреса
  • Утечка корпоративных контактов (сценарии BYOD)
  • Содействие социальной инженерии (целевой фишинг, вишинг)

Воздействие на целостность: ВЫСОКОЕ

  • Потенциальная манипуляция данными контактов через инъекцию UNION/UPDATE
  • Подмена контактов для социальной инженерии
  • Внедрение вредоносных контактов

Воздействие на доступность: ВЫСОКОЕ

  • DoS через исчерпание ресурсов (массивные результаты запросов)
  • Блокировка/блокирование базы данных
  • Сбой провайдера из-за некорректных запросов

Регуляторное воздействие

  • GDPR: нарушение защиты персональных данных (требуется уведомление по ст. 33)
  • CCPA: несанкционированный доступ к персональной информации
  • HIPAA: потенциальное раскрытие PHI при хранении медицинских контактов
  • PCI DSS: раскрытие данных держателей карт в заметках контактов

Уязвимые версии

Версия AndroidСтатус
Android 14 (U)Уязвима
Android 15 (V)Уязвима
Android 16 (W)Уязвима
Android 17 (июнь 2026+)Исправлена

Уведомления производителя

  • Google Android Security Bulletin: Android 17 (июнь 2026 г.)
  • GitHub Advisory: GHSA-ph86-9mcx-3p6r
  • NVD: CVE-2026-28576 (опубликовано 17 июня 2026 г.)

Обнаружение и устранение

Правила обнаружения

Правило 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 г.
  2. Обходной путь: ограничить ContentResolver.query() через политику SELinux
  3. Мониторинг: аудит журналов запросов ContactsProvider на предмет аномальных параметров selection
  4. Проверка приложений: сканировать приложения на использование URI content://com.android.contacts без разрешения READ_CONTACTS

Ссылки

  • 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 г.

Скачать инструмент
Категория данныхРаскрываемые поля
Идентификацияdisplay_name, phonetic_name, nickname, company, title
Номера телефоновnumber, type (mobile, home, work, fax и т.д.), label
Адреса электронной почтыaddress, type (home, work, other), label
Почтовые адресаstreet, city, region, postcode, country, type
Структурированные данныеmimetype, data1–data15, sync1–sync4
Метаданныеcontact_id, raw_contact_id, version, dirty, deleted