Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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-2019-2215 — Exploit de prueba de concepto para CVE-2019-2215, una vulnerabilidad de uso después de liberación en el controlador binder de Android que permite la escalada de privilegios local en dispositivos vulnerables. | Kitploit
Herramientas/GitHubGitHub/codecat007/cve-2019-2215
Seguridad AndroidEscalada de PrivilegiosFrameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónSeguridad MóvilExplotación de Binarios
GitHubcodecat007/cve-2019-2215

CVE-2019-2215

Exploit de prueba de concepto para CVE-2019-2215, una vulnerabilidad de uso después de liberación en el controlador binder de Android que permite la escalada de privilegios local en dispositivos vulnerables.

Ver Repositorio
2hace 6 añosAú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

CVE-2019-2215

El siguiente problema existe en la rama android-msm-wahoo-4.4-pie de https://android.googlesource.com/kernel/msm (y posiblemente en otras):

Hay un use-after-free del miembro wait en la estructura binder_thread del controlador binder en /drivers/android/binder.c.

Como se describe en la confirmación ascendente: “binder_poll() pasa thread->wait waitqueue que puede dormir para trabajar. Cuando un hilo que usa epoll sale explícitamente usando BINDER_THREAD_EXIT, la waitqueue se libera, pero nunca se elimina de la estructura de datos epoll correspondiente. Cuando el proceso posteriormente sale, el código de limpieza de epoll intenta acceder a la waitlist, lo que resulta en un use-after-free.”

La siguiente prueba de concepto mostrará el fallo de UAF en una compilación del kernel con KASAN (del informe de error inicial ascendente en https://lore.kernel.org/lkml/[email protected]/): #include <fcntl.h> #include <sys/epoll.h> #include <sys/ioctl.h> #include <unistd.h>

root@kitploit:~
    #define BINDER_THREAD_EXIT 0x40046208ul

    int main()
    {
            int fd, epfd;
            struct epoll_event event = { .events = EPOLLIN };

            fd = open("/dev/binder0", O_RDONLY);
            epfd = epoll_create(1000);
            epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &event);
            ioctl(fd, BINDER_THREAD_EXIT, NULL);
    }

Este problema fue corregido en diciembre de 2017 en el kernel LTS 4.14 [1], el kernel AOSP android 3.18 [2], el kernel AOSP android 4.4 [3] y el kernel AOSP android 4.9 [4], pero el Pixel 2 con el boletín de seguridad más reciente sigue siendo vulnerable según la revisión del código fuente.

Otros dispositivos que parecen ser vulnerables según la revisión del código fuente son (refiriéndose a las versiones 8.x a menos que se indique lo contrario):

  1. Pixel 2 con Android 9 y la vista previa de Android 10 (https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-wahoo-4.4-q-preview-6/)
  2. Huawei P20
  3. Xiaomi Redmi 5A
  4. Xiaomi Redmi Note 5
  5. Xiaomi A1
  6. Oppo A3
  7. Moto Z3
  8. Teléfonos LG con Oreo (ejecutan el mismo kernel según el sitio web)
  9. Samsung S7, S8, S9

Tenemos evidencia de que este error se está utilizando activamente. Por lo tanto, este error está sujeto a un plazo de divulgación de 7 días. Después de que transcurran 7 días o se haya puesto a disposición un parche de manera general (lo que ocurra primero), el informe del error se hará visible al público.

Confirmado que esta prueba de concepto funciona en Pixel 2 con la compilación walleye_kasan-userdebug 10 QP1A.191105.0035899767, causando un fallo de KASAN. Se adjuntan el código C de prueba de concepto y new.out. Se adjunta la salida de la consola de KASAN.

Recibí información técnica de TAG y partes externas sobre un exploit de Android que se atribuye al grupo NSO. Estos detalles incluían hechos sobre el error y la metodología del exploit, incluyendo pero no limitándose a:

  • Es una escalada de privilegios del kernel utilizando una vulnerabilidad de use-after-free, accesible desde dentro del sandbox de Chrome.
  • Se alega que el error estaba siendo utilizado o vendido por el grupo NSO.
  • Funciona en Pixel 1 y 2, pero no en Pixel 3 y 3a.
  • Fue corregido en el kernel de Linux >= 4.14 sin un CVE.
  • CONFIG_DEBUG_LIST rompe la primitiva.
  • CONFIG_ARM64_UAO dificulta la explotación.
  • La vulnerabilidad es explotable en los procesos de renderizado de Chrome bajo el dominio SELinux 'isolated_app' de Android, lo que nos lleva a sospechar que Binder es el componente vulnerable.
  • El exploit requiere poca o ninguna personalización por dispositivo.
  • Una lista de dispositivos afectados y no afectados y sus versiones, y más. Una lista no exhaustiva está disponible en la descripción de este problema.

Usando estos detalles, he determinado que el error que se está utilizando es casi con certeza el de este informe, ya que descarté otros candidatos potenciales comparando parches. Se redactará una explicación más detallada de este error y la metodología para identificarlo en una próxima publicación de blog cuando encuentre tiempo.

Actualmente no tenemos una muestra del exploit. Sin muestras, no hemos podido confirmar ni la línea de tiempo ni la carga útil.

El error es una vulnerabilidad de escalada de privilegios local que permite un compromiso total de un dispositivo vulnerable. Si el exploit se entrega a través de la web, solo necesita combinarse con un exploit de renderizador, ya que esta vulnerabilidad es accesible a través del sandbox.

He adjuntado una prueba de concepto de exploit local para demostrar cómo se puede usar este error para obtener lectura/escritura arbitraria del kernel cuando se ejecuta localmente. Solo requiere la ejecución de código de aplicación no confiable para explotar CVE-2019-2215. También he adjuntado una captura de pantalla (success.png) del POC ejecutándose en un Pixel 2 con Android 10 y nivel de parche de seguridad de septiembre de 2019 (google/walleye/walleye:10/QP1A.190711.020/5800535:user/release-keys).

Declaración del proveedor de Android:

"Este problema está clasificado como de gravedad Alta en Android y por sí mismo requiere la instalación de una aplicación maliciosa para una posible explotación. Cualquier otro vector, como a través de un navegador web, requiere encadenarse con un exploit adicional. Hemos notificado a los socios de Android y el parche está disponible en el Kernel Común de Android. Los dispositivos Pixel 3 y 3a no son vulnerables, mientras que los dispositivos Pixel 1 y 2 recibirán actualizaciones para este problema como parte de la actualización de octubre."

Descargar herramienta