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:
{\rtf1\ansi\ansicpg1252\uc1
\deff0\deflang1033\deflangfe3082{\fonttbl{\f0\froman\fcharset0\fp
rq2{\*\panose 02020603050405020304}Times New
Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose
020b0604020202020204}Arial;}}{\colortbl;\red0\green0\blue0;
Para conseguir el buffer overflow habría que modificar la
primera línea incluyendo 32 caracteres después de «\rtf1\»,
como por ejemplo:
{\rtf1\AAAAAAAAAAAAAAAAAAAAAAAAAAAAAansi\ansicpg1252\uc1
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
bernardo@hispasec.com
Deja una respuesta