Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Las inseguridades de las herramientas CVS

Última Actualización: 17 de Agosto de 2.000 - Jueves

Artículo publicado en el boletín Una-Al-Día de Hispasec, el 8 de Agosto de 2.000.

Las implementaciones actuales del protocolo CVS (Concurrent Versions System) permiten que un atacante con permiso de escritura en el almacén CVS pueda ejecutar código arbitrario en el servidor en el que reside el almacén.

CVS (Concurrent Versions System) es un sistema de control de versiones, especialmente utilizado durante el desarrollo de proyectos de software. Permite que un grupo de colaboradores trabajen juntos en un proyecto, y controlar en cada momento la versión y los cambios que cada uno de ellos tiene en su propia copia del "almacén", así se identifican conflictos entre versiones, se pueden crear "ramas" divergentes de desarrollo, etc.

En definitiva, se trata de una herramienta que nos permite tener perfectamente identificado el estado de un proyecto (admite, incluso, retroceder y empezar una nueva "rama"). Ni que decir tiene que en el mundo Internet, CVS permite la cooperación de desarrolladores distantes entre sí miles de kilómetros. De hecho, es el sistema empleado para coordinar el desarrollo del Kernel Linux y del servidor web Apache, por ejemplo, dos pilares de la estrategia "open source".

Típicamente CVS tiene dos modos de funcionamiento: anónimo y autentificado. En el modo anónimo, los usuarios sólo pueden conectarse al almacén en modo lectura, mientras que en el modo autentificado, los desarrolladores pueden realizar cambios en el proyecto.

Lamentablemente las implementaciones actuales de CVS permiten que cualquier desarrollador con privilegios de escritura en el almacén pueda ejecutar código arbitrario en el servidor CVS. Aunque se entiende que dichas personas son confiables, los administradores CVS deben ser conscientes de que asignar privilegios de escritura a un desarrollador supone, en la práctica, los mismos privilegios que o más que si dicha persona tuviese un acceso SHELL a la máquina en cuestión.

Aunque este hecho esté señalado en la documentación CVS, conviene recordarlo a los administradores de sistemas de forma periódica, para evitar sorpresas. Lamentablemente, en el momento actual, no existen implementaciones CVS diseñadas para evitar este problema, aunque se trabaja activamente en "wrappers" para mejorar su seguridad.

Opina sobre esta noticia.

Más información:



Python Zope ©2000 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS