Las vulnerabilidades críticas en la herramienta de sincronización de archivos Rsync permiten a los atacantes ejecutar código arbitrario en servidores vulnerables, filtrar datos confidenciales y eludir controles de seguridad críticos.
Las vulnerabilidades afectan a la versión 3.2.7 y anteriores de Rsync, y los exploits de prueba de concepto ya demuestran capacidades de ejecución remota de código.
Vulnerabilidades críticas de corrupción de memoria
Desbordamiento del búfer de montón en el manejo de suma de comprobación (CVE-2024-12084)
GitHub informó que la vulnerabilidad más grave se debe a una verificación de límites inadecuada en la implementación del análisis de suma de verificación. Al procesar fragmentos de archivos, el módulo sender.c de Rsync asigna buffers de tamaño fijo para almacenar datos de suma de verificación:
El parámetro s2length controlado por los clientes conectados puede exceder la asignación de búfer de 16 bytes cuando se utilizan algoritmos de resumen SHA-256 (32 bytes) o SHA-512 (64 bytes).
Esto permite escribir hasta 48 bytes más allá de los límites del búfer de almacenamiento dinámico, lo que permite controlar las estructuras de memoria críticas.
Omisión de ASLR mediante fuga de información de pila (CVE-2024-12085)
Los atacantes combinan el desbordamiento del búfer con una vulnerabilidad de fuga de información en el manejo de la pila de la función hash_search:
Al manipular las longitudes de las sumas de verificación, los atacantes pueden comparar valores conocidos con datos de pila no inicializados que contienen direcciones de memoria. A través del análisis estadístico de 255 fragmentos de archivos, los investigadores demostraron una derivación ASLR confiable al filtrar un byte por iteración.
Exfiltración de archivos del lado del cliente (CVE-2024-12086)
Los servidores maliciosos pueden aprovechar la lógica de comparación de archivos de Rsync para leer archivos de clientes arbitrarios. Al enviar valores fnamecmp_type y xname especialmente diseñados, los atacantes evitan la desinfección de rutas.
Esto obliga a los clientes a abrir archivos específicos y transmitir datos que no coinciden en la suma de verificación, lo que permite la reconstrucción byte a byte de archivos confidenciales mediante fuerza bruta de suma de verificación adaptativa.
Cadena de Explotación de Enlaces Simbólicos (CVE-2024-12087/12088)
Los atacantes evitan la protección de enlaces seguros de Rsync mediante el envenenamiento de directorios en varias etapas:
- Enviar lista de archivos inicial creando el directorio ./symlink
- Siga con la lista actualizada reemplazando el directorio con un enlace simbólico
- Escribir archivos mediante resolución de ruta envenenada
La vulnerabilidad surge de una validación inadecuada de los recorridos de rutas acumulativas al resolver enlaces simbólicos anidados. La verificación de enlace seguro utiliza un cálculo de profundidad incompleto:
unsafe_depth=count_dots(link_target)
Esto no tiene en cuenta los enlaces simbólicos posteriores en las rutas resueltas; permitiendo escapes de límites a través de referencias de directorio encadenadas.
La combinación de CVE-2024-12084 y CVE-2024-12085 crea una cadena de ejecución remota de código completa:
- Diseño de memoria de pila de fugas para derrotar a ASLR
- Cree una carga útil de desbordamiento de montón precisa
- Sobrescribir punteros de función con direcciones de código shell
Los investigadores demostraron una explotación confiable contra la configuración del demonio Rsync 3.2.7 de Debian 12. Las vulnerabilidades son particularmente peligrosas ya que solo requieren acceso de lectura anónimo para activarse.
Mitigación y parches
Todos los usuarios deben actualizar inmediatamente a Rsync 3.4.0, que incluye:
- Comprobación de límites estrictos para buffers de suma de comprobación
- Inicialización del búfer de pila en funciones hash
- Validación de enlace simbólico mejorada
- Mejoras en la higienización de caminos.
Los administradores deben auditar las configuraciones del servidor Rsync, deshabilitando el acceso anónimo siempre que sea posible. Las protecciones del lado del cliente requieren la aplicación de enlaces seguros con enlaces simbólicos munge para todas las conexiones que no sean de confianza.
Dado que Rsync sigue estando ampliamente implementado en sistemas de respaldo empresariales y canalizaciones de CI/CD, la aplicación rápida de parches es esencial para evitar infracciones a gran escala. El código PoC publicado aumenta la urgencia de realizar esfuerzos de remediación en todas las organizaciones afectadas.