
La empresa 0patch informó que durante el análisis de la vulnerabilidad CVE-2025-59230 en el servicio Windows Remote Access Connection Manager (RasMan), que Microsoft corrigió con las actualizaciones de octubre de 2025, los investigadores encontraron un exploit funcional que permite la ejecución de código local con privilegios de Local System desde una cuenta de usuario normal. Pero junto con él se descubrió otro problema: el exploit incluía un método separado que permite a un usuario no privilegiado 'derribar' a RasMan, y esa vulnerabilidad, según los autores, aún no se ha solucionado.
CVE-2025-59230 está organizado de forma bastante sencilla: al iniciarse, RasMan registra un endpoint RPC al que luego se conectan otros servicios y confían en sus respuestas. Si RasMan no se ha iniciado, cualquier proceso, incluido un exploit de usuario sin derechos de administrador, puede registrar el mismo endpoint RPC antes y obligar a los servicios privilegiados a conectarse al punto "falso". A partir de ahí esa confianza se puede explotar para inyectar instrucciones que conduzcan a la ejecución de código del atacante.
El problema, sin embargo, está en la explotación práctica: RasMan suele iniciarse automáticamente junto con Windows (los autores señalan que en Windows 11 el servicio puede configurarse como "manual", pero aun así se inicia al arrancar el sistema), por lo que "capturar" el momento en que RasMan no está en funcionamiento es casi imposible — incluso una tarea programada creada por un atacante no logra "adelantar" al servicio y registrar primero el endpoint RPC.
Por ello, el exploit necesita además poder detener RasMan para liberar el endpoint RPC necesario. Ese segundo paso resultó ser la vulnerabilidad separada: un usuario no privilegiado puede finalizar RasMan de forma abrupta, es decir provocar una denegación de servicio y así despejar el camino para el ataque descrito en CVE-2025-59230.
Al investigar la causa de la caída, 0patch vinculó el problema a un error en la lógica de recorrido de una lista enlazada circular. El código sale del bucle cuando el elemento actual de la lista apunta al primer elemento, es decir cuando se ha recorrido la lista por completo. Dentro del bucle hay una comprobación "sensata" de NULL para el puntero del elemento actual: si el puntero no es NULL, se lee el valor y, en determinadas condiciones, el bucle puede finalizar.
Pero si el puntero resulta ser NULL, la ejecución no se interrumpe — al contrario, el código intenta obtener el puntero al siguiente elemento, desreferenciando NULL. Esto provoca una violación de acceso a memoria y la caída de RasMan. Los autores subrayan que este tipo de error es fácil de imaginar en desarrollo real: la función espera una lista circular válida, y la comprobación de NULL pudo haberse añadido "por si acaso" y nunca se ejercitó en las pruebas, de modo que su corrección no se manifestó.
El microparche de 0patch, según se describe en la publicación, añade la bifurcación que faltaba: al detectar NULL el bucle debe finalizar y no continuar el recorrido. En la demostración se indica que sin 0patch activado el exploit puede tumbar a RasMan, mientras que con el agente activado la caída no ocurre (en el vídeo, según los autores, se destaca un servicio con nombre similar: Remote Access Auto Connection Manager).
Según 0patch, los microparches ya se han publicado y se distribuyen para las versiones de Windows compatibles — desde las ediciones actuales de Windows 11 y Windows 10 hasta Windows 7, así como para varias ediciones de servidor, incluyendo Windows Server hasta Server 2025, siempre que los sistemas estén completamente actualizados.