Radicle ha divulgado dos vulnerabilidades críticas en el protocolo de comunicación de su red de colaboración de código. La primera afecta a la confidencialidad: los nodos completan el intercambio de claves Noise, pero luego descartan las claves de sesión y envían los datos por TCP sin cifrar. Un atacante situado en la ruta de red puede leer metadatos y objetos Git, incluso de repositorios privados. La segunda falla permite suplantar la identidad de un nodo incluido en una lista de acceso. Juntas, ambas debilidades facilitan obtener repositorios privados desde nodos que confían en esa identidad.
El problema alcanza a todas las versiones publicadas hasta ahora. Aunque las firmas y los identificadores de contenido de Git ayudan a detectar cambios no autorizados, no impiden que terceros lean lo transmitido. El equipo de Radicle recomienda detener el uso de repositorios privados sobre conexiones públicas y considerar comprometidos los secretos que hayan circulado de esa forma. También aconseja rotar credenciales presentes en esos repositorios. Mientras llega una solución, las conexiones deben limitarse a redes protegidas, como túneles autenticados; enviar tráfico por un nodo de salida de Tor no resuelve por sí solo la exposición.
Radicle planea sustituir su transporte propio por Iroh, basado en QUIC y TLS. Como el protocolo actual no negocia versiones, el cambio romperá la compatibilidad con los nodos antiguos y exigirá una transición coordinada de la red.
Glosario
- Noise
- Familia de protocolos criptográficos para acordar claves de sesión entre dos participantes. Acordar las claves no cifra por sí solo el tráfico posterior.
- TCP
- Protocolo que transporta datos de forma ordenada entre equipos. Por sí mismo no proporciona cifrado.
- Git
- Sistema de control de versiones que registra cambios en archivos y permite compartir repositorios de código.
- Iroh
- Pila de comunicación entre pares que Radicle planea usar para sustituir su transporte actual; se apoya en QUIC y TLS.