Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-20516 — Write-up e proof of concept ADB per CVE-2026-20516, una vulnerabilità di tipo confused deputy in MediaTek Android TV MiracastService che consente modifiche locali allo stato di Wi-Fi Direct. | Kitploit
Strumenti/GitHubGitHub/dingo97/cve-2026-20516
Sicurezza AndroidEscalation di PrivilegiAnalisi delle VulnerabilitàExploitPentesting di App MobiliSicurezza MobilePaper e RicercaApprendimento e Formazione
GitHubdingo97/cve-2026-20516

CVE-2026-20516

Write-up e proof of concept ADB per CVE-2026-20516, una vulnerabilità di tipo confused deputy in MediaTek Android TV MiracastService che consente modifiche locali allo stato di Wi-Fi Direct.

1922 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
Sito web

CVE-2026-20516: MiracastService confused deputy su Android TV

Ricerca e divulgazione a cura di Davide Di Matteo (@Dingo97).

Questo è il mio primo CVE accreditato. Ho trovato un servizio Miracast esportato in modo improprio e con privilegi di sistema mentre analizzavo una PEAQ Android TV. Un chiamante può fornire un intent extra che induce il servizio a modificare lo stato del Wi-Fi Direct utilizzando i propri privilegi.

MediaTek ha pubblicato il problema nel suo bollettino di sicurezza di settembre 2026 e accredita Davide Di Matteo nei suoi ringraziamenti di sicurezza. Questo write-up e la riproduzione ADB originale sono pubblicati in seguito alla divulgazione coordinata e con il permesso del fornitore.

Leggi sul mio sito · Repository GitHub

Riepilogo della vulnerabilità

CampoValore
CVECVE-2026-20516
Componentecom.mediatek.androidbox.MiracastService
Gravità secondo il fornitoreMedia
CVSS v3.1 pubblicato5.5 — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H (Tenable)
Debolezza ufficialeCWE-926: Improper Export of Android Application Components
MeccanismoConfused deputy / controllo di accesso mancante
Impatto descritto dal fornitoreDenial of service locale tramite una possibile escalation di privilegi
Prerequisiti di attaccoEsecuzione di codice locale con privilegi utente; nessuna interazione utente richiesta
Identificatori della patchALPS11060069 / DTV04881615
Problema MediaTekMSV-7882
Pubblicazione del fornitore7 settembre 2026
Pubblicazione del write-up11 settembre 2026

L'impatto, gli identificatori della patch e i prerequisiti di attacco locale sono documentati nel record CVE. Il punteggio numerico e il vettore sopra riportati sono quelli pubblicati da Tenable. Sostituiscono la valutazione preliminare di 5.1 presente nel mio report originale. CWE-284 (improper access control) e CWE-441 (confused deputy) descrivono l'analisi originale; MediaTek classifica il problema come CWE-926.

Ambiente testato

CampoValore
DispositivoPEAQ Smart TV, modello AI PONT
OEM / piattaformaChanghong / MediaTek
Sistema operativoAndroid TV 11
Livello di patch di sicurezza AndroidGiugno 2025
BuildRTMA.250416.192
Kernel4.19.116++ (#1 Sat Aug 23 09:58:11 CST 2025)
SoftwareV03.06037
Pacchettocom.mediatek.androidbox
APKWFDSinkTest_CH.apk
Versione dell'applicazione1.0.0.16
Shared UID dichiaratoandroid.uid.system

Questi sono i dettagli del dispositivo utilizzato per la ricerca originale, non un elenco di tutte le versioni firmware vulnerabili o corrette.

Causa principale

L'analisi del manifest registrata nel report originale mostra che MiracastService è esportato con android:exported="true", senza un permesso che protegga l'accesso al servizio. L'applicazione dichiara android:sharedUserId="android.uid.system".

Il metodo onStartCommand() del servizio legge l'intent extra booleano screen_share senza verificare se il chiamante è autorizzato a controllare Miracast. Il servizio esegue quindi operazioni nel proprio contesto privilegiato. Questo è il confused deputy: il chiamante fornisce la richiesta, mentre il servizio di sistema fornisce l'autorità.

Nell'implementazione analizzata, il percorso screen_share=false può chiamare WifiP2pManager.createGroup(). La chiamata è condizionale: la condivisione dello schermo deve essere disabilitata nello stato del servizio, il Wi-Fi P2P deve essere abilitato e non deve esistere già un gruppo. Il nome del booleano non deve essere interpretato come un'affermazione diretta sul fatto che un gruppo verrà creato o rimosso.

Il report registra anche una scrittura su Settings.Global.putInt(..., "miracast_enable", 1) in onCreate(). L'attivazione del ciclo di vita del servizio può quindi causare una scrittura su impostazioni protette tramite il servizio. Questa è un'osservazione derivante dall'analisi dell'implementazione; l'estratto di log riportato di seguito non dimostra autonomamente tale scrittura.

I controlli dei permessi rilevanti dipendono dal framework Android e dalla build OEM. Il problema chiave è l'autorizzazione mancante al confine del servizio esportato, piuttosto che l'affermazione che ogni versione di Android applichi un insieme di permessi identico per il Wi-Fi Direct.

Impatto e limiti delle prove

MediaTek descrive un rischio di denial-of-service locale. Sulla TV testata, la sessione ADB registrata mostra il servizio che accetta screen_share=false e crea con successo un gruppo Wi-Fi Direct. Modifiche impreviste a questo stato possono interferire con l'uso legittimo di Miracast e possono esporre uno stato del ricevitore che l'utente non ha richiesto.

Il componente esportato e il controllo di accesso mancante supportano un percorso di attacco da app locale nell'analisi originale. La shell ADB viene eseguita con l'identità shell di Android, non con un UID di applicazione ordinario. Di conseguenza, questi comandi e log dimostrano il comportamento del servizio da ADB; non provano, di per sé, l'esecuzione da un'applicazione senza permessi. Questo repository non include una riproduzione basata su applicazione testata separatamente.

L'estratto non stabilisce esecuzione di codice arbitrario, una shell root, una connessione completata da un dispositivo vicino o una rimozione riuscita del gruppo. Il chiamante non acquisisce l'UID di sistema del servizio; induce il servizio ad agire per suo conto.

Proof of concept

Prerequisiti

  • Il firmware vulnerabile testato, o una build equivalente che esponga lo stesso componente.
  • ADB installato sull'host e una connessione di debug autorizzata a una TV di tua proprietà o che sei autorizzato a testare.
  • Wi-Fi e Wi-Fi Direct disponibili sulla TV.
  • Due terminali. I comandi host riportati di seguito utilizzano una shell POSIX, ad esempio Bash o WSL con accesso ad ADB.

Quella che segue è la riproduzione manuale dal report originale. Modifica lo stato di Miracast e forza l'arresto del pacchetto del ricevitore. Registra lo stato di casting corrente prima di eseguirla.

1. Monitorare il servizio

Nel primo terminale:

adb logcat | grep -i -E 'screen_share|createGroup|removeGroup'

2. Preparare lo stato del ricevitore

Nel secondo terminale:

adb shell am startservice -n com.mediatek.androidbox/.MiracastService --ez screen_share true
sleep 3
adb shell am force-stop com.mediatek.androidbox
sleep 2

Questa è la sequenza di reset utilizzata nella riproduzione originale. Un force-stop del pacchetto non garantisce che il sottosistema Wi-Fi di Android abbia rimosso un gruppo esistente. Se un gruppo persiste, reimposta il ricevitore tramite i controlli della TV e verifica il suo stato prima di riprovare.

3. Richiedere la creazione del gruppo

adb shell am startservice -n com.mediatek.androidbox/.MiracastService --ez screen_share false

Cerca Enter createGroup seguito da createGroup success. Se compare solo Received screen_share tag, l'intent è stato elaborato, ma la creazione del gruppo non è stata dimostrata: verifica i prerequisiti descritti sopra.

4. Richiedere la pulizia e verificare la TV

adb shell am startservice -n com.mediatek.androidbox/.MiracastService --ez screen_share true
Scarica lo strumento