Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2026-28576 — PoC y aplicación de red team para CVE-2026-28576, una inyección SQL sin permisos en el Android Contacts Provider que permite la exfiltración completa de la base de datos de contactos. | Kitploit
Herramientas/GitHubGitHub/aayushbankar/cve-2026-28576
Seguridad AndroidAnálisis de VulnerabilidadesExplotaciónPentesting de Apps MóvilesExfiltración de DatosPruebas de PenetraciónSeguridad MóvilPapers e InvestigaciónRed Teaming
GitHubaayushbankar/cve-2026-28576

cve-2026-28576

PoC y aplicación de red team para CVE-2026-28576, una inyección SQL sin permisos en el Android Contacts Provider que permite la exfiltración completa de la base de datos de contactos.

3hace 1 díaAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

CVE-2026-28576: Inyección SQL y exfiltración sistémica en Android Contacts Provider

Resumen ejecutivo

CVE-2026-28576 es una vulnerabilidad crítica de control de acceso en el framework Android Contacts Provider (ContactsProvider2.queryLocal()). El fallo permite que una aplicación sin privilegios instalada localmente con cero permisos declarados exfiltre toda la base de datos de contactos de un dispositivo, incluidos nombres completos, números de teléfono, direcciones postales y direcciones de correo electrónico.

AtributoValor
ID CVECVE-2026-28576
ID GHSAGHSA-ph86-9mcx-3p6r
ID de bug de AndroidA-488593616
CWECWE-89: Neutralización incorrecta de elementos especiales utilizados en un comando SQL ('Inyección SQL')
CVSS v4.010.0 (Crítico) - AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Puntuación EPSS0.148% (percentil 4)
Publicado17 de junio de 2026
ComponenteAndroid Contacts Provider (ContactsProvider2)
Vector de ataqueLocal (aplicación sin permisos)
Interacción del usuarioNo se requiere

Detalles de la vulnerabilidad

Causa raíz

La vulnerabilidad existe en el método ContactsProvider2.queryLocal() dentro del framework Android Contacts Provider (packages/providers/ContactsProvider). El método construye consultas SQL utilizando entrada controlada por el usuario no saneada, lo que permite la inyección SQL a través de los parámetros selection y selectionArgs pasados mediante ContentResolver.query().

Ruta de código afectada

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

Parámetros vulnerables

  • selection (String): Cláusula WHERE sin parametrización
  • selectionArgs (String[]): Argumentos que se escapan incorrectamente
  • uri (Uri): URI de contenido dirigida a content://com.android.contacts/...

Requisitos previos de explotación

  • Cero permisos requeridos - Sin READ_CONTACTS, READ_PRIVILEGED_PHONE_STATE ni ningún permiso peligroso
  • Sin interacción del usuario - Explotación silenciosa en segundo plano
  • Instalación local de la aplicación - Cualquier aplicación instalada en el dispositivo (Play Store, instalada manualmente, etc.)
  • Versiones de Android - Versiones afectadas anteriores al parche de seguridad de Android 17 (junio de 2026)

Análisis técnico

Mecanismo de inyección SQL

El método queryLocal() procesa el parámetro selection concatenándolo directamente en la cláusula WHERE de SQL sin la parametrización adecuada:

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;
}

Un atacante elabora un parámetro selection malicioso como:

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

Esto elude la lógica de consulta prevista y extrae todos los campos de contactos.

Alcance de la exfiltración de datos

Flujo del ataque

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]

Evaluación del impacto

Impacto en la confidencialidad: ALTO

  • Exfiltración completa de la base de datos de contactos
  • Exposición de PII: nombres, teléfonos, correos electrónicos, direcciones
  • Fuga de contactos corporativos (escenarios BYOD)
  • Facilitación de ingeniería social (spear phishing, vishing)

Impacto en la integridad: ALTO

  • Posible manipulación de datos de contactos mediante inyección UNION/UPDATE
  • Suplantación de contactos para ingeniería social
  • Inserción maliciosa de contactos

Impacto en la disponibilidad: ALTO

  • DoS por agotamiento de recursos (resultados de consulta masivos)
  • Bloqueo/bloqueo de la base de datos
  • Caída del proveedor por consultas malformadas

Impacto normativo

  • GDPR: Brecha de datos personales (se requiere notificación del Art. 33)
  • CCPA: Acceso no autorizado a información personal
  • HIPAA: Posible exposición de PHI si se almacenan contactos médicos
  • PCI DSS: Exposición de datos de titulares de tarjetas en notas de contactos

Versiones afectadas

Versión de AndroidEstado
Android 14 (U)Vulnerable
Android 15 (V)Vulnerable
Android 16 (W)Vulnerable
Android 17 (junio de 2026+)Parcheado

Avisos del proveedor

  • Boletín de seguridad de Google Android: Android 17 (junio de 2026)
  • Aviso de GitHub: GHSA-ph86-9mcx-3p6r
  • NVD: CVE-2026-28576 (publicado el 17 de junio de 2026)

Detección y mitigación

Reglas de detección

Regla 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)
}

Detección de red (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;
)

Estrategias de mitigación

  1. Inmediato: Aplicar el parche de seguridad de Android 17 de junio de 2026
  2. Solución alternativa: Restringir ContentResolver.query() mediante política SELinux
  3. Monitoreo: Auditar los registros de consultas de ContactsProvider en busca de parámetros selection anómalos
  4. Verificación de aplicaciones: Escanear aplicaciones en busca de uso de URI content://com.android.contacts sin permiso READ_CONTACTS

Referencias

  • Aviso de GitHub GHSA-ph86-9mcx-3p6r
  • NVD CVE-2026-28576
  • Boletín de seguridad de Android - Android 17
  • Bug de Android A-488593616
  • CWE-89: Inyección SQL

Documento generado para el repositorio de investigación CVE-2026-28576 Última actualización: septiembre de 2025

Descargar herramienta
Categoría de datosCampos expuestos
Identidaddisplay_name, phonetic_name, nickname, company, title
Números de teléfononumber, type (móvil, casa, trabajo, fax, etc.), label
Direcciones de correo electrónicoaddress, type (casa, trabajo, otro), label
Direcciones postalesstreet, city, region, postcode, country, type
Datos estructuradosmimetype, data1–data15, sync1–sync4
Metadatoscontact_id, raw_contact_id, version, dirty, deleted