PHP-Nuke es un paquete open source que permite crear y administrar un
portal con noticias y artículos totalmente adaptable, y con un sistema
de control de usuarios. Se ha descubierto una nueva vulnerabilidad en
este sistema que de forma sencilla puede permitir a un atacante el
acceso a los archivos del disco.
PHP-Nuke es un sistema bastante extendido para la creación de portales
con sistemas de menús, usuarios, noticias, etc. La sencillez con la que
se puede crear y mantener un sitio web gracias a este software hace que
sea ampliamente empleado por un gran número de usuarios para desarrollar
sus contenidos. Por lo que hemos podido comprobar un gran número de
dichos sistemas son vulnerables ante este ataque.
En este caso la vulnerabilidad que nos ocupa puede permitir a un
atacante el compromiso de toda la máquina, ya que permitirá la lectura
de cualquier archivo con permisos de lectura para todo el mundo
(incluido el /etc/passwd).
El código vulnerable se encuentra en el archivo opendir.php:
(…)
$REQUEST_URI = strip_tags($REQUEST_URI);
$res = explode(«$PHP_SELF?», $REQUEST_URI);
$odp_cat = $res[1];
if (substr($odp_cat,0,1) == «/») $odp_cat = substr($odp_cat,1);
(define $requesturl)
(…)
Bastará introducir el nombre del fichero al que se desea acceder como
parámetro requesturl de opendir.php para acceder a los contenidos del
archivo indicado. Por ejemplo:
http://www.sitio.vulnerable.com/opendir.php?requesturl=/etc/passwd
Para solucionarlo bastará iniciar $requesturl de la siguiente forma al
principio del script opendir.php.
$requesturl=»»;
También se encuentra disponible en el sitio web de PHP-Nuke la
actualización necesaria para solventar esta vulnerabilidad. En nuestras
pruebas hemos descubierto un gran número de sistemas afectados por esta
vulnerabilidad por lo que recomendamos a todos los administradores que
corrijan el problema lo más rápidamente posible.
antonior@hispasec.com
Más información:
Bugtraq:
http://www.securityfocus.com/archive/1/162261
Aviso y comentarios sobre la vulnerabilidad en PHP-Nuke.org:
http://phpnuke.org/article.php?sid=1022&mode=thread&order=0&thold=0
Deja una respuesta