Una clásica vulnerabilidad por desbordamiento de buffer puede provocar la ejecución de código arbitrario a través de la aplicación Wordpad. Hasta el momento Microsoft no ha facilitado parche o información adicional para este problema que convierte a los archivos con formato RTF (Rich Text Format) en potencialmente peligrosos.
La vulnerabilidad se presenta en la librería RICHED20.DLL, utilizada por Wordpad para manejar los RTF, presente en las versiones Windows 98/NT/2000. Para provocar el desbordamiento basta con incluir 32 caracteres después del identificador «rtf» que encabeza la primera línea de los archivos con formato RTF.
Ejemplo de primeras líneas de un archivo RTF:
{rtf1ansiansicpg1252uc1 deff0deflang1033deflangfe3082{fonttbl{f0fromanfcharset0fp rq2{*panose 02020603050405020304}Times New Roman;}{f1fswissfcharset0fprq2{*panose 020b0604020202020204}Arial;}}{colortbl;red0green0blue0;
Para conseguir el buffer overflow habr¡a que modificar la primera l¡nea incluyendo 32 caracteres despu’s de «rtf1, como por ejemplo:
{rtf1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAansiansicpg1252uc1
Al abrir con la aplicaci¢n Wordpad el documento modificado se produce el desbordamiento y devuelve la EIP 41414141. Esto quiere decir que se ha modificado el indicador que apunta a la siguiente direcci¢n de ejecuci¢n (Extended Instruction Pointer, EIP) con el car cter utilizado para el desbordamiento (hexadecimal del car cter «A», 41). Al intentar ejecutar la instrucci¢n ubicada en la direcci¢n 0x41414141 se produce un error, conocido como violaci¢n de acceso, al no encontrar una instrucci¢n v lida. Aunque esta muestra tan solo produce un ataque DoS, la modificaci¢n del EIP lo convierten en un buffer overflow potencialmente f cil de explotar.
M s informaci¢n:
Bugtraq
http://www.securityfocus.com/templates/archive.pikelist=1&msg=19991118094304.1519.qmail@hotmail.com
Bernardo Quintero
bernardo@hispasec.com