Mientras Microsoft erige bastiones de seguridad, una simple ranura MicroSD los derriba por completo.

Un lector de tarjetas común resultó capaz de eludir las barreras de protección de Windows: una vulnerabilidad en el controlador de Realtek permitía que un programa sin privilegios reescribiera directamente la memoria física del equipo mediante el mecanismo DMA. El especialista con el seudónimo zwclose, que detectó el problema en 2022 y explicó en detalle en 2024, finalmente publicó el código de demostración que, antes de la corrección, funcionaba desde el modo de usuario sin privilegios de administrador.
El mecanismo DMA permite que los dispositivos intercambien datos con la memoria RAM sin la intervención del procesador. El controlador RtsPer.sys abría a las aplicaciones habituales el acceso a las órdenes de servicio del lector de tarjetas, incluyendo el control de registros internos y del búfer de comandos. A través de ellos, un programa podía configurar por sí mismo el controlador DMA y especificar la dirección donde escribir los datos.
La principal dificultad fue construir un descriptor DMA con la dirección física de destino. Las aplicaciones normalmente trabajan con direcciones virtuales y no saben dónde están los datos en la memoria RAM. El especialista resolvió la tarea usando el búfer de comandos del lector de tarjetas, cuya dirección física se podía obtener mediante los registros disponibles. En ese mismo búfer se pudieron formar instrucciones que el controlador interpretó como la descripción de una operación DMA.
El código de demostración leía un sector de la tarjeta SD insertada en el búfer interno del dispositivo y luego escribía el contenido en la dirección física elegida. En la prueba, los datos acabaron en la página de memoria de otro proceso. La posibilidad estaba limitada a los primeros 4 GB de memoria RAM, ya que el lector solo soportaba direccionamiento de 32 bits. La fuente no señala signos de uso de la vulnerabilidad en ataques reales.
Realtek recibió por primera vez información sobre los problemas del controlador en 2022, pero la corrección inicial no cerró el acceso a DMA. Tras una nueva notificación, la compañía lanzó la actualización definitiva en agosto de 2024. Los desarrolladores eliminaron las órdenes que abrían el acceso a los registros y al búfer interno, y además habilitaron la reasignación de DMA mediante IOMMU, que limita el acceso del dispositivo a la memoria.
La segunda parte del análisis con el código de demostración apareció solo este julio, casi dos años después de la publicación de la corrección definitiva. El autor no explicó la razón del retraso ni mencionó si tenía un acuerdo con Realtek para aplazar la publicación.
Se recomienda a los usuarios comprobar la versión del controlador del lector de tarjetas de Realtek. Se consideran seguras RtsPer.sys versión 10.0.26100.21374 y posteriores, así como RtsUer.sys versión 10.0.26100.31288 y posteriores. Dell y Lenovo actualizaron hace tiempo los paquetes para los modelos afectados.