
CVE-2026-0013 Android EoP PoC - Artefatti compilati per la ricerca sulla sicurezza (Derivato di inforcqb/cve-2026-0013-exploit)
Vulnerabilità Confused Deputy di Android DocumentsUI (proxy confuso) - Progetto di verifica per la ricerca sulla sicurezza
Questo repository è un repository di compilazione derivato ed è affiliato al repository principale originale.
| Ruolo | Repository | Descrizione |
|---|---|---|
| Repository principale | inforcqb/cve-2026-0013-exploit | Ricerca originale sulla vulnerabilità |
| Questo repository | XiaoBaiLovesStirring/cve-2026-0013-poc | Distribuzione degli artefatti di compilazione cloud |
Prima di accedere a questo repository, assicurati di leggere e comprendere SECURITY_PROTOCOL.md.
Punti chiave:
GitHub Pages: https://XiaoBaiLovesStirring.github.io/cve-2026-0013-poc/
Avvia la compilazione: https://github.com/XiaoBaiLovesStirring/cve-2026-0013-poc/actions
Ottieni gli artefatti: git clone --branch artifacts https://github.com/XiaoBaiLovesStirring/cve-2026-0013-poc.git
Modifica: targetIntent, avviato per conto di DocumentsUI, ora punta al nuovo componente personalizzato IdTestActivity. Questo componente esegue id e scrive l'identità di esecuzione e i risultati su logcat e nella barra delle notifiche, per verificare due fatti chiave:
Intent.EXTRA_INTENT e avvia per conto il componente targetSpiegazione del meccanismo (importante): Secondo il modello di isolamento di Android, qualsiasi componente di un'app di terze parti, indipendentemente da chi lo avvia, viene eseguito solo all'interno del processo/UID dichiarato dall'app stessa. Con il solo avvio per conto di DocumentsUI, IdTestActivity verrà comunque eseguito con l'UID di com.example.cve20260013exploit (es. u0_a702/10702) e non diventerà automaticamente uid=10054 di DocumentsUI. Per far ottenere 10054 all'intero APK, è necessario sharedUserId="android.uid.documentsui" (richiede firma di sistema, non disponibile per terze parti) o un ambiente root. Il valore di v1.0.4 sta nel verificare se EXTRA_INTENT viene consumato e nell'identità reale dell'avvio per conto.
Problema: Su OPPO/ColorOS, PickActivity di DocumentsUI non consuma più l'Intent.EXTRA_INTENT passato dal chiamante. Nei test reali, mCallingUid risulta ancora u0_a702 del chiamante; PickActivity renderizza solo la propria interfaccia di selezione e poi si ferma, senza alcuna azione target avviata per conto con l'identità di DocumentsUI (uid=10054). La catena Confused Deputy originale è di fatto interrotta.
Correzione (riprogettazione della catena di attivazione):
ACTION_OPEN_DOCUMENT / ACTION_GET_CONTENT + CATEGORY_OPENABLE + */*)picker.PickActivity e a quella nativa PickActivity, per evitare crash se l'entry point non viene trovatocontent:// con autorizzazione temporanea restituito da DocumentsUI, si risale all'identità dell'host concesso (probeUriGrant), verificando dal lato del concedente se il Confused Deputy è validoSpiegazione del meccanismo: L'app stessa non può far eseguire comandi arbitrari al processo di DocumentsUI; il "privilegio" del Confused Deputy consiste nel fargli detenere/inoltrare per te risorse autorizzate che può ottenere solo con il proprio uid. Pertanto v1.0.3 verifica "chi ha ottenuto il permesso URI concesso da DocumentsUI", invece di eseguire id nel processo dell'app.
Registro correzioni di compilazione: La prima build è fallita perché getPackageManager().resolveActivity() restituisce un tipo ResolveInfo e non ComponentName, con l'errore error: incompatible types: ResolveInfo cannot be converted to ComponentName. Risolto estraendo packageName/name da ResolveInfo.activityInfo per costruire un ComponentName, quindi la build è passata.
Modifica: L'azione della proof-of-concept passa da "avvio di Termux" a "esecuzione del comando id dopo l'attivazione della catena Confused Deputy, con risultato mostrato nella barra delle notifiche di sistema".
id all'interno dell'app (prova più percorsi: sh -c id, id, /system/bin/id, /system/xbin/id)uid/gid/groups nella barra delle notifichepicker.PickActivity → nativa .PickActivity)POST_NOTIFICATIONS per Android 13+ per inviare notificheProblema: Diversi vendor (es. OPPO) hanno modificato il percorso delle classi di DocumentsUI: la voce nativa com.android.documentsui.PickActivity è stata spostata in com.android.documentsui.picker.PickActivity, quindi le build precedenti non riescono a individuare l'entry point dell'exploit sul dispositivo target.
Correzione:
com.android.documentsui.picker.PickActivity.PickActivityGuida alla risoluzione dei problemi di compilazione (importante):
dumpsys package com.android.documentsui o l'Activity Resolver Table per confermare il nome reale della classe entry point modificata dal vendor, quindi modifica il parametro setClassName in ExploitActivity.java e invia le modifiche per riavviare la compilazioneCVE-2026-0013 | HIGH (CVSS 8.4) | CWE-441 | Android 14-16 | DocumentsUI PickActivity
Bollettino di sicurezza: Android Security Bulletin 2026-03-01