Git es una base de datos direccionable por contenido que utiliza funciones hash como claves para almacenar el contenido de los archivos. Durante dos décadas, Git ha dependido de SHA-1, el algoritmo que Linus Torvalds seleccionó en 2005. SHA-1 produce una salida de 160 bits, lo que hace que las colisiones accidentales sean matemáticamente improbables, requiriendo aproximadamente 1,4 septillones de archivos para desencadenar una.
Sin embargo, los criptógrafos han publicado ataques de colisión, siendo los más notables SHAttered en 2017 y SHA-1 is a Shambles en 2020. Aunque las colisiones accidentales siguen siendo prácticamente imposibles, estos ataques demuestran que las colisiones intencionales son teóricamente posibles, aunque costosas. Como respuesta, la próxima versión de Git 3.0 planea cambiar el algoritmo hash predeterminado de SHA-1 al más fuerte SHA-256.
Esta transición requerirá que los desarrolladores actualicen los repositorios y herramientas existentes, representando un esfuerzo global significativo para un cambio que ofrece beneficios de seguridad prácticos marginales para la mayoría de los usuarios. La migración representa un esfuerzo global costoso con poco valor tangible para el desarrollador promedio.
Fuente: Hacker News · Resumido por HeadlinesBriefing