lunes, 6 de junio de 2011

Ejecución de comandos en WebSVN

Se ha publicado una prueba de concepto que permite ejecutar comandos arbitrarios en WebSVN a través de una petición POST con un valor de "path" especialmente diseñado.

WebSVN es un proyecto Open Source que permite visualizar de forma cómoda uno o varios repositorios SVN. Está implementado bajo PHP y licenciado bajo GPL v2. A su vez, SVN es un sistema de control de versiones Open Source, inspirado en el popular pero prehistórico CVS. Subversion es un diseño y desarrollo nuevo, 100% desde cero, supliendo la mayoría de las carencias y defectos del vetusto CVS y proporcionando un entorno eficiente y muy flexible.

El fallo se da al no validar correctamente el valor recibido como nombre del fichero. Esto podría ser aprovechado por un atacante remoto sin autenticar, para ejecutar comandos arbitrarios si inyecta a través de POST una variable "path" especialmente manipulada, que ejecutaría comandos en el sistema. Para poder explotar esta vulnerabilidad es necesario encontrar un recurso que pueda ser descargado, puesto que el fallo se encuentra en la función "exportRepositoryPath()", que solo es accesible cuando nos descargamos un elemento.

Este fallo no está solucionado por el momento.

Una posible solución sería comprobar en la función "exportRepositoryPath" que el fichero existe en el sistema.


Victor Antonio Torre
vtorre@hispasec.com


Más información:

WebSVN 2.3.2 Unproper Metacharacters Escaping exec() Remote Command
Injection
http://www.exploit-db.com/exploits/17360/

No hay comentarios:

Publicar un comentario en la entrada