GitHub corrige vulnerabilidad que permitía iniciar sesión en otras cuentas
El lunes por la noche GitHub cerró automáticamente la sesión de muchos usuarios al invalidar sus sesiones de GitHub.com. Github realizó esta acción para proteger las cuentas de los usuarios contra una vulnerabilidad de seguridad potencialmente grave.
A principios de este mes, GitHub había recibido un informe de comportamiento anómalo de una parte externa.
El comportamiento anómalo se debió a una vulnerabilidad de condición de carrera poco común. En la vulnerabilidad, la sesión de inicio de sesión de un usuario de GitHub se desviaba al navegador web de otro usuario que inició sesión. Esto le dio a este último una cookie de sesión autenticada y acceso a la cuenta del usuario anterior.
GitHub cierra la sesión de los usuarios automáticamente debido a una vulnerabilidad
A partir del lunes en la noche, GitHub cerró la sesión de todos los usuarios que iniciaron sesión antes del 8 de marzo a las 12:03 UTC.
Esta acción se tomó casi una semana después de que la compañía recibió un informe inicial de comportamiento sospechoso en GitHub.com, de una parte, externa.
“El 2 de marzo, GitHub recibió un informe externo de comportamiento anómalo para su sesión de usuario de GitHub.com autenticada”.
“Al recibir el informe, GitHub Security and Engineering inmediatamente comenzó a investigar para comprender la causa raíz, el impacto y la prevalencia de este problema en GitHub.com”.
Comunicado de seguridad de la compañía.
El viernes 5 de marzo, los equipos de GitHub solucionaron la vulnerabilidad de seguridad y continuaron con el análisis durante el fin de semana.
Además, invalidar todas las sesiones anoche fue el paso final que se tomó para corregir la vulnerabilidad.
La vulnerabilidad, según GitHub, podría explotarse en circunstancias extremadamente raras cuando ocurriera una condición de carrera durante el proceso de manejo de solicitudes de backend.
En tal caso, la cookie de sesión de un usuario de GitHub que haya iniciado sesión se enviaría al navegador de otro usuario. Esto le daba al último usuario acceso a la cuenta del primer usuario.
Es importante tener en cuenta que este problema no fue el resultado de contraseñas de cuentas comprometidas, claves SSH o tokens de acceso personal (PAT). Y, no hay evidencia que sugiera que esto fue el resultado de un compromiso de cualquier otro sistema GitHub.
En cambio, este problema se debió al manejo inadecuado, raro y aislado, de sesiones autenticadas.
“Además, este problema no puede ser provocado o dirigido intencionalmente por un usuario malintencionado” .
Mike Hanley, director de seguridad de GitHub
Menos del 0.001% de las sesiones afectadas
La compañía afirma que el error subyacente estuvo presente en GitHub.com durante un período acumulativo de menos de dos semanas. Estuvo presente en ciertos momentos entre el 8 de febrero y el 5 de marzo de 2021.
Después de que se identificó y solucionó la causa inicial el 5 de marzo, la compañía emitió un segundo parche el 8 de marzo. El parche fortaleció aún más la seguridad del sitio web.
Esto es lo que provocó que GitHub invalidara todas las sesiones de inicio de sesión activas antes del mediodía del 8 de marzo.
No hay evidencia de que otros activos o productos de GitHub.com, como GitHub Enterprise Server, hayan sido afectados como resultado de esta vulnerabilidad.
“Creemos que el enrutamiento de esta sesión se produjo en menos del 0.001% de las sesiones autenticadas en GitHub.com”.
“Para la pequeña población de cuentas que sabemos que se verán afectadas por este problema, nos hemos comunicado con información y orientaciones adicionales”.
Aunque todavía tenemos que confirmar el alcance total del impacto de esta vulnerabilidad, el 0.001% de las sesiones autenticadas estimadas es una gran cantidad. Esto podría significar más de decenas de miles de cuentas, considerando que GitHub recibe más de 32 millones de visitantes activos (autenticados o no) en un mes.
Además, la compañía aún no ha comentado si alguno de los repositorios del proyecto o el código fuente fue alterado como resultado de esta vulnerabilidad.
Las vulnerabilidades de autenticación como estas, si son explotadas por adversarios, pueden allanar el camino para ataques encubiertos a la cadena de suministro de software.
GitHub no ha realizado comentarios adicionales a su informe de seguridad oficial.