Las versiones de CVS previas a la 1.11.1p1 son susceptibles a un ataque
de denegación de servicio y, posiblemente, a la ejecución de código
arbitrario en el servidor.
CVS (Concurrent Versions System) es un sistema de control de versiones,
muy utilizado para coordinar cambios en ficheros modificables por
usuarios distribuidos geográficamente, ya sea código fuente como
documentación y otros documentos. CVS es el sistema de control de
versiones más popular en entornos Open Source, y está disponible para
numerosos sistemas operativos, incluyendo las variantes Unix y MS
Windows.
Las versiones de CVS previas a 1.11.1p1 son susceptibles a un ataque de
denegación de servicio y, posiblemente, a la ejecución de código
arbitrario en el servidor.
El problema se localiza en el uso de una variable global no inicializada
correctamente, por lo que puede llegar a ser utilizada por el programa
conteniendo un valor indeterminado. En el mejor de los casos, el
servidor CVS morirá. En el caso peor, se puede llegar a ejecutar código
arbitrario en el servidor.
La recomendación es actualizar a la versión 1.11.1p1 de CVS o superior.
La versión 1.11.2 de CVS se acaba de publicar hace apenas unas horas.
Se puede comprobar si tenemos una versión vulnerable del sistema CVS
ejecutando el comando «cvs -f diff -C1111111111111 fichero», donde
«fichero» es algún fichero que estemos gestionando a través de CVS y que
contenga algún cambio respecto al almacén CVS. Si el comando falla,
tenemos una versión vulnerable.
Por ejemplo:
# cvs -f diff -C111111111111 z4
Index: z4
===================================================================
RCS file: /opt/src/cvsroot/olimpo/z4,v
retrieving revision 1.6
diff -C111111111111 -r1.6 z4
Terminated with fatal signal 11
#
jcea@hispasec.com
Más información:
DSA-117-1 cvs — improper variable initialization
http://www.debian.org/security/2002/dsa-117
CVS Server Global Variable Denial Of Service Vulnerability
http://online.securityfocus.com/bid/4234
Deja una respuesta