viernes, 16 de octubre de 2009

Cross site scripting e inyección SQL en PhpMyAdmin 2.x y 3.x

Existen dos vulnerabilidades en phpMyAdmin que permiten inyectar código SQL y realizar ataques Cross site scripting (XSS).

PhpMyAdmin es una popular herramienta escrita en PHP de administración de MySQL a través de un navegador. Este software permite crear y eliminar bases de datos, crear, eliminar y alterar tablas, borrar, editar y añadir campos, administrar privilegios y claves en campos, exportar datos en varios formatos; y en general ejecutar cualquier sentencia SQL. Además está disponible en más de 50 idiomas bajo licencia GPL.

El primero de los errores tiene su origen en una la falta de validación de ciertos parámetros en pmd_pdf.php. Esto podría ser aprovechado por un atacante para inyectar código SQL y ejecutar sentencias no autorizadas.

Por otro lado, existen varios errores en db_operations.php y pdf_pages.php provocados por no usar la función "htmlspecialchars" cuando se muestran ciertos datos. Esto podría ser aprovechado por una atacante para insertar código HTML o JavaScript. Si un administrador visualiza esos datos, un atacante podría usar JavaScript para robar su cookie de sesión, por ejemplo. En la versión 3.x este error también se encuentra en db_structure.php

Estas vulnerabilidades ya han sido solucionadas y se puede descargar la nueva versión desde el sitio phpmyadmin.net.


Victor Antonio Torre
vtorre@hispasec.com


Más información:

phpMyAdmin Advisory
http://www.phpmyadmin.net/home_page/security/PMASA-2009-6.php

phpMyAdmin SVN
http://phpmyadmin.svn.sourceforge.net/viewvc/phpmyadmin?view=rev&revision=13034

No hay comentarios:

Publicar un comentario en la entrada