El equipo de Project Zero de Google ha revelado los detalles de un fallo de seguridad 0-day parcheado incorrectamente que podría permitir la elevación de privilegios.

La vulnerabilidad identificada como CVE-2020-0986, de la que ya hablamos en una UAD, hace referencia a un problema relacionado con la API de la cola de impresión GDI Print / Print Spooler y fue reportado por un usuario anónimo que trabaja con Zero Day Initiative de Trend Micro a finales de diciembre de 2019. El error de seguridad, que afecta a Windows 8.1 y Windows 10, se encuentra en el proceso del controlador de impresora en modo de usuario «splwow64.exe» debido a la validación inadecuada de un valor proporcionado por el usuario antes de desreferenciarlo como puntero, y podría permitir que un atacante local elevase sus privilegios en el sistema y ejecutase código arbitrario en modo kernel.

El 19 de mayo de este año Zero Day Initiative hizo publicó un boletín informando de la vulnerabilidad, aunque la solución a la misma llegaría más tarde: el segundo martes del mes siguiente siguiendo el ciclo habitual de Microsoft.

Kaspersky observó durante el mes de agosto que la vulnerabilidad estaba siendo explotada, como parte de una cadena de exploits que también incluía otro error de día cero de ejecución remota de código en Internet Explorer, en una campaña denominada «Operación PowerFall« contra una empresa surcoreana no revelada.

El pasado septiembre, Maddie Stone, investigadora de Google Project Zero, descubrió y reportó a Microsoft que la solución proporcionada en las actualizaciones de seguridad de junio no era suficiente para resolver el problema, y tras un plazo de 90 días dicha información ha sido revelada. Según sus declaraciones «la vulnerabilidad todavía existe, sólo se ha tenido que modificar el método de explotación. El problema original era una desreferenciación de puntero arbitraria que permitía al atacante controlar los punteros src y dest a memcpy. La corrección simplemente cambió los punteros a ‘offsets‘, lo cual aún permite el control de los argumentos a la función memcpy«.

Además, Project Zero ha publicado una nueva prueba de concepto (PoC) basada en una anterior de Kaspersky como demostración de que, cuando un fallo de seguridad no se corrige por completo, es posible reutilizar el conocimiento del mismo para actualizar los exploits y continuar aprovechándolo.

Se ha emitido un nuevo CVE para identificar esta vulnerabilidad, el CVE-2020-17008, y se especula que el nuevo parche será publicado con las próximas actualizaciones de seguridad de Microsoft del 12 de enero.

Más información:
Maddie Stone
https://twitter.com/maddiestone/status/1341781305126612995

(0Day) Microsoft Windows splwow64 Untrusted Pointer Dereference Privilege Escalation Vulnerability
https://www.zerodayinitiative.com/advisories/ZDI-20-663/

CVE-2020-0986: Windows Kernel Elevation of Privilege Vulnerability
https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2020-0986

Internet Explorer and Windows zero-day exploits used in Operation PowerFall
https://securelist.com/ie-and-windows-zero-day-operation-powerfall/97976/

Operation PowerFall: CVE-2020-0986 and variants
https://securelist.com/operation-powerfall-cve-2020-0986-and-variants/98329/

Alerta de seguridad de Windows: se confirma un 0-day del sistema de archivos sin solucionar
https://unaaldia.hispasec.com/2020/05/alerta-de-seguridad-de-windows-se-confirma-un-0-day-del-sistema-de-archivos-sin-solucionar.html