
Sondea el canal lateral de Android ContactsProvider (CVE-2026-0075) con un PoC sin permisos, lo que permite el análisis de causa raíz y la comparación entre versión parcheada y vulnerable.
Un prototipo de investigación de Android en laboratorio controlado para evaluar el comportamiento observable asociado con CVE-2026-0075 en ContactsProvider2.
CVE-2026-0075 es un problema local de elevación de privilegios en Android en ContactsProvider2. El aviso público describe una posible vía de acceso a la base de datos de contactos mediante inyección SQL, sin interacción del usuario. Android clasifica el problema como Alta e identifica Android 14, 15, 16 y 16-qpr2 como versiones AOSP afectadas. Los dispositivos con el nivel de parche de seguridad 2026-06-05 o posterior abordan los problemas del boletín de junio de 2026.
La aplicación incluida es un PoC independiente en Java/Android que deliberadamente no declara ni READ_CONTACTS ni WRITE_CONTACTS. Está pensada para ayudar a investigadores autorizados a comparar el comportamiento en los límites de permisos y el manejo de excepciones en compilaciones controladas.
Este repositorio es únicamente para investigación de seguridad autorizada.
El proyecto no afirma una vía de explotación universal. Registra una observación controlada que debe validarse contra la compilación objetivo, su nivel de parche y su implementación de ContactsProvider.
.
├── no-permission-probe/ Standalone Android application and PowerShell helpers
│ ├── build.ps1 Compiles, packages, aligns, and signs a debug APK
│ ├── run-poc.ps1 Installs the APK and starts the controlled probe
│ ├── AndroidManifest.xml No READ_CONTACTS or WRITE_CONTACTS declaration
│ ├── res/ Android resources
│ └── src/ Application source
├── CONTRIBUTING.md Contribution and research-data requirements
├── SECURITY.md Vulnerability reporting guidance
└── .gitignore Local build and IDE exclusions
La corrección pública de AOSP, bb9f36b3ff6d42136afb61d527e1e8f67242fe32, se titula Fix side channel attacks in CP2. Cambia ContactsProvider2 para eliminar los mensajes de SQLiteException relacionados con JSON para los llamadores sin READ_CONTACTS, e incorpora la materialización del cursor a la ruta de manejo de excepciones. Este PoC está diseñado para una comparación controlada de comportamiento antes/después; no sustituye la validación del parche.
javac, jar y keytool disponibles en PATHandroid-3536.0.0adb)Establezca ANDROID_HOME en la raíz del SDK antes de compilar. ANDROID_SDK_ROOT también puede ser usado por sus herramientas locales, pero los scripts proporcionados leen ANDROID_HOME.
$env:ANDROID_HOME = 'C:\Android\Sdk'
Desde la raíz del repositorio:
Set-Location .\no-permission-probe
.\build.ps1
El APK de depuración firmado se escribe en no-permission-probe\build\probe.apk. El directorio build está excluido del control de versiones.
Inicie un emulador autorizado o un dispositivo de prueba que contenga únicamente contactos sintéticos.
Confirme el dispositivo y el nivel de parche:
adb devices
adb shell getprop ro.build.version.security_patch
Compile la aplicación y luego ejecute:
Set-Location .\no-permission-probe
.\run-poc.ps1
Revise únicamente la interfaz de la aplicación y la etiqueta de registro delimitada:
adb logcat -s CVE20260075Probe:I
El asistente de ejecución selecciona una URI data/<id> exacta del dispositivo de prueba conectado y lanza la actividad con una concesión de lectura. No lo utilice donde ese comportamiento no esté explícitamente autorizado.
Para obtener un resultado defendible, registre lo siguiente en cada ejecución:
Compare una imagen de laboratorio conocida como vulnerable con una imagen que contenga la corrección de junio de 2026. La señal de remediación esperada es que los errores de SQLite relacionados con JSON que califican y se devuelven a los llamadores sin READ_CONTACTS se reemplacen con un mensaje genérico; esto por sí solo no establece la ausencia de todo oráculo observable.
Este CVE fue divulgado públicamente y abordado en el Boletín de Seguridad de Android de junio de 2026. Para vulnerabilidades actuales de productos Android, informe directamente a través del proceso de Android Security. Consulte SECURITY.md para obtener orientación específica del repositorio.
bb9f36b3ff6d42136afb61d527e1e8f67242fe32Licenciado bajo la Apache License 2.0.