Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-20516 — Write-up y prueba de concepto ADB para CVE-2026-20516, una vulnerabilidad de confused deputy en MediaTek Android TV MiracastService que permite cambios locales en el estado de Wi-Fi Direct. | Kitploit
Herramientas/GitHubGitHub/dingo97/cve-2026-20516
Seguridad AndroidEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónPentesting de Apps MóvilesSeguridad MóvilPapers e InvestigaciónAprendizaje y Educación
GitHubdingo97/cve-2026-20516

CVE-2026-20516

Write-up y prueba de concepto ADB para CVE-2026-20516, una vulnerabilidad de confused deputy en MediaTek Android TV MiracastService que permite cambios locales en el estado de Wi-Fi Direct.

19hace 22 díasAú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
Sitio web

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

Investigación y divulgación por Davide Di Matteo (@Dingo97).

Este es mi primer CVE acreditado. Encontré un servicio Miracast con privilegios de sistema, exportado incorrectamente, mientras investigaba un PEAQ Android TV. Un llamador puede proporcionar un extra de intent que hace que el servicio cambie el estado de Wi-Fi Direct usando sus propios privilegios.

MediaTek publicó el problema en su boletín de seguridad de septiembre de 2026 y acredita a Davide Di Matteo en sus reconocimientos de seguridad. Este análisis y la reproducción original con ADB se publican tras la divulgación coordinada y con el permiso del proveedor.

Leer en mi sitio web · Repositorio de GitHub

Resumen de la vulnerabilidad

CampoValor
CVECVE-2026-20516
Componentecom.mediatek.androidbox.MiracastService
Gravedad del proveedorMedia
CVSS v3.1 publicado5.5 — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H (Tenable)
Debilidad oficialCWE-926: Exportación incorrecta de componentes de aplicaciones Android
MecanismoConfused deputy / control de acceso ausente
Impacto descrito por el proveedorDenegación de servicio local mediante una posible escalada de privilegios
Requisitos previos del ataqueEjecución de código local con privilegios de usuario; no se requiere interacción del usuario
Identificadores del parcheALPS11060069 / DTV04881615
Incidencia de MediaTekMSV-7882
Publicación del proveedor7 de septiembre de 2026
Publicación del análisis11 de septiembre de 2026

El impacto, los identificadores del parche y los requisitos previos del ataque local están documentados en el registro CVE. La puntuación numérica y el vector anteriores son los publicados por Tenable. Reemplazan la evaluación preliminar de 5.1 de mi informe original. CWE-284 (control de acceso incorrecto) y CWE-441 (confused deputy) describen el análisis original; MediaTek clasifica el problema como CWE-926.

Entorno probado

CampoValor
DispositivoPEAQ Smart TV, modelo AI PONT
OEM / plataformaChanghong / MediaTek
Sistema operativoAndroid TV 11
Nivel de parche de seguridad de AndroidJunio de 2025
CompilaciónRTMA.250416.192
Kernel4.19.116++ (#1 Sat Aug 23 09:58:11 CST 2025)
SoftwareV03.06037
Paquetecom.mediatek.androidbox
APKWFDSinkTest_CH.apk
Versión de la aplicación1.0.0.16
UID compartido declaradoandroid.uid.system

Estos son los detalles del dispositivo utilizado para la investigación original, no una lista de todas las versiones de firmware vulnerables o corregidas.

Causa raíz

El análisis del manifiesto registrado en el informe original muestra que MiracastService está exportado con android:exported="true", sin un permiso que proteja el acceso al servicio. La aplicación declara android:sharedUserId="android.uid.system".

El onStartCommand() del servicio lee el extra booleano screen_share del intent sin comprobar si el llamador está autorizado a controlar Miracast. El servicio entonces realiza operaciones en su propio contexto privilegiado. Este es el confused deputy: el llamador proporciona la solicitud, mientras que el servicio del sistema proporciona la autoridad.

En la implementación analizada, la ruta screen_share=false puede llamar a WifiP2pManager.createGroup(). La llamada es condicional: la compartición de pantalla debe estar deshabilitada en el estado del servicio, Wi-Fi P2P debe estar habilitado y no debe existir ya un grupo. El nombre del booleano no debe interpretarse como una afirmación directa sobre si se creará o eliminará un grupo.

El informe también registra una escritura a Settings.Global.putInt(..., "miracast_enable", 1) en onCreate(). Por lo tanto, desencadenar el ciclo de vida del servicio puede provocar una escritura en ajustes protegidos a través del servicio. Esta es una observación del análisis de la implementación; el extracto de registro a continuación no demuestra de forma independiente esa escritura.

Las comprobaciones de permisos relevantes dependen del framework de Android y de la compilación del OEM. El problema clave es la autorización ausente en el límite del servicio exportado, más que la afirmación de que todas las versiones de Android aplican un conjunto de permisos idéntico para Wi-Fi Direct.

Impacto y límites de la evidencia

MediaTek describe un riesgo de denegación de servicio local. En el televisor probado, la sesión de ADB registrada muestra que el servicio acepta screen_share=false y crea con éxito un grupo de Wi-Fi Direct. Los cambios inesperados en este estado pueden interferir con el uso legítimo de Miracast y pueden exponer un estado del receptor que el usuario no solicitó.

El componente exportado y la ausencia de control de acceso respaldan una ruta de ataque desde una aplicación local en el análisis original. El shell de ADB se ejecuta con la identidad shell de Android, no con un UID de aplicación ordinario. En consecuencia, estos comandos y registros demuestran el comportamiento del servicio desde ADB; por sí solos, no prueban la ejecución desde una aplicación sin permisos. Este repositorio no incluye una reproducción basada en una aplicación probada por separado.

El extracto no establece ejecución de código arbitrario, un shell root, una conexión completada desde un dispositivo cercano ni una eliminación exitosa del grupo. El llamador no adquiere el UID de sistema del servicio; induce al servicio a actuar en su nombre.

Prueba de concepto

Requisitos previos

  • El firmware vulnerable probado, o una compilación equivalente que exponga el mismo componente.
  • ADB instalado en el host y una conexión de depuración autorizada a un televisor que sea de su propiedad o que esté autorizado a probar.
  • Wi-Fi y Wi-Fi Direct disponibles en el televisor.
  • Dos terminales. Los comandos del host a continuación usan un shell POSIX, por ejemplo Bash o WSL con acceso a ADB.

La siguiente es la reproducción manual del informe original. Cambia el estado de Miracast y fuerza la detención del paquete receptor. Registre el estado actual de transmisión antes de ejecutarla.

1. Monitorizar el servicio

En la primera terminal:

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

2. Preparar el estado del receptor

En la segunda terminal:

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

Esta es la secuencia de reinicio utilizada en la reproducción original. Una detención forzada del paquete no garantiza que el subsistema Wi-Fi de Android haya eliminado un grupo existente. Si un grupo persiste, reinicie el receptor mediante los controles del televisor y verifique su estado antes de volver a intentarlo.

3. Solicitar la creación del grupo

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

Busque Enter createGroup seguido de createGroup success. Si solo aparece Received screen_share tag, el intent se procesó, pero no se ha demostrado la creación del grupo: compruebe las condiciones previas descritas anteriormente.

4. Solicitar la limpieza y verificar el televisor

adb shell am startservice -n com.mediatek.androidbox/.MiracastService --ez screen_share true
Descargar herramienta