Voltar

Patch Fantasma: Injeção de Código em Exportações .patch do GitHub

O pesquisador Egor Kovetskiy demonstrou que a exportação de URL .patch do GitHub incorpora a mensagem de commit completa junto com o diff real. Assim, quando um usuário desavisado executa o workflow comum de wget patch, o GNU patch analisa o texto em formato diff inserido na mensagem de commit e o aplica como se fizesse parte da alteração legítima. Em seu reprodutor público, isso criou um arquivo SHOULD_NOT_BE_HERE.md fora do escopo que a UI do GitHub nunca exibe.

Testes locais escalaram o impacto: o GNU patch aceitou escritas em .git/hooks/post-applypatch (execução silenciosa de código no próximo git am), enquanto git apply e git am rejeitaram a travessia .git/... mas ainda aplicaram diffs injetados em arquivos comuns da working-tree. Apenas o git cherry-pick, que opera em objetos Git, não foi afetado. Os defensores devem parar de direcionar URLs .patch diretamente para patch -p1, preferir git am ou git cherry-pick de um clone local confiável, inspecionar as mensagens de commit em busca de marcadores diff --git incorporados antes de aplicar, e auditar pipelines de CI e bots que baixam automaticamente arquivos .patch do GitHub para este injection vector.

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Segurança da Informação
Publicado
29 de abril de 2026
Fonte
CEVIU Segurança da Informação

Quer receber mais sobre CEVIU Segurança da Informação?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser