O GitHub reconheceu ter descoberto que a Chave SSH privada do GitHub.com ficou exposta rapidamente, e tomou medidas para corrigir isso.
O GitHub alterou sua chave SSH privada para o GitHub.com depois que o segredo foi acidentalmente publicado em um repositório GitHub público.
O serviço de desenvolvimento de software e controle de versão diz que a chave RSA privada foi apenas “brevemente” exposta, mas que agiu por “muita cautela”.
Chave SSH privada do GitHub.com ficou exposta rapidamente
Em uma postagem de blog sucinta publicada recentemente, o GitHub reconheceu ter descoberto esta semana que a chave privada RSA SSH para GitHub.com havia sido efemeramente exposta em um repositório GitHub público.
“Agimos imediatamente para conter a exposição e começamos a investigar para entender a causa raiz e o impacto”, escreve Mike Hanley, diretor de segurança do GitHub e vice-presidente sênior de engenharia.
“Agora concluímos a substituição da chave e os usuários verão a mudança se propagar nos próximos trinta minutos. Alguns usuários podem ter notado que a nova chave foi brevemente presente por volta das 02:30 UTC durante os preparativos para esta mudança.”
O momento da descoberta é interessante – apenas algumas semanas depois que o GitHub lançou a varredura secreta de todos os repositórios públicos.
As impressões digitais de chave pública mais recentes do GitHub.com são mostradas abaixo. Eles podem ser usados para validar se sua conexão SSH com os servidores do GitHub é realmente segura.
Como alguns podem notar, apenas a chave RSA SSH do GitHub.com foi afetada e substituída. Nenhuma alteração é necessária para usuários de ECDSA ou Ed25519.
SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczCvj3tD2s (RSA)
SHA256:br9IjFspm1vxR3iA35FWE+4VTyz1hYVLIE2t1/CeyWQ (DSA - obsoleto)
SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM (ECDSA)
SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU (Ed25519)
“Observe que esse problema não foi resultado de um comprometimento de nenhum sistema do GitHub ou informações do cliente”, diz o GitHub.
“Em vez disso, a exposição foi o resultado do que acreditamos ser uma publicação inadvertida de informações privadas.”
A postagem do blog, no entanto, não responde quando exatamente a chave foi exposta e por quanto tempo, tornando o cronograma de exposição um pouco obscuro.
Esses carimbos de data/hora geralmente podem ser verificados nos logs de segurança – caso estejam disponíveis, e no histórico de confirmação do Git.
O GitHub afirma ainda que “não há motivos para acreditar” que a chave exposta foi abusada e alterou a chave “com muita cautela”.
Mas, alternar uma chave privada depois que ela vazou, não importa o quão ‘brevemente’, é uma etapa necessária para proteger os usuários de adversários que podem se passar por seu servidor ou espionar a conexão de um usuário.
A chave RSA exposta em questão não concede acesso à infraestrutura do GitHub ou aos dados do cliente, esclareceu Hanley.
“Essa alteração afeta apenas as operações do Git sobre SSH usando RSA. O tráfego da Web para o GitHub.com e as operações HTTPS do Git não são afetadas.”
Embora o GitHub tenha alterado as chaves SSH privadas, vários documentos e projetos de software, incluindo os do GitHub, continuam a usar a impressão digital SSH de sua chave agora revogada:
SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8
Dessa forma, os usuários devem atualizar seu arquivo ~/.ssh/known_hosts
com a nova impressão digital de chave do GitHub, caso contrário, poderão receber avisos de segurança ao fazer conexões SSH. Ao receber esses avisos, os usuários devem garantir que a impressão digital vista na tela corresponda à da chave mais recente do GitHub.com.
Desde o ano passado, as chaves de host SSH atualizadas do GitHub também são publicadas em seu endpoint de metadados de API.