Ir para o conteúdo principal
ArchPrompts
Voltar ao blog
Caderno técnico / Nota de campo

Radar Tech: CVE-2026-3854 — Quando um git push vira RCE por injeção em protocolo interno

A Wiz Research descobriu que qualquer usuário autenticado do GitHub podia executar comandos arbitrários nos servidores backend com um único git push. Entenda a cadeia de exploração, o papel da engenharia reversa assistida por IA e o que times de arquitetura podem aprender sobre hardening de protocolos internos.

João Gabriel
3 min de leitura
Radar Tech: CVE-2026-3854 — Quando um git push vira RCE por injeção em protocolo interno
AP / Prancha visual 01
Leitura principal

O que aconteceu?

No dia 28 de abril de 2026, a Wiz Research divulgou publicamente a CVE-2026-3854: uma vulnerabilidade crítica (CVSS 8.7) na infraestrutura interna de git do GitHub que permitia que qualquer usuário autenticado executasse comandos arbitrários nos servidores backend — com nada mais que um único git push.

Em questão de minutos, um atacante podia ler repositórios de milhões de outros usuários e organizações hospedados nos mesmos nós compartilhados.

Como funciona a cadeia de ataque?

A vulnerabilidade está no protocolo interno X-Stat, usado pelos serviços do GitHub para propagar metadados de segurança entre si.

  1. babeld (proxy Git) recebe as push options do usuário e as concatena no header X-Stat sem sanitizar ponto-e-vírgula (;) — que é justamente o delimitador de campos do X-Stat.
  2. gitrpcd e o pre-receive hook (escrito em Go) confiam cegamente no header e usam split(';') com last-write-wins: se um campo aparece duas vezes, o último valor vence.
  3. O atacante injeta rails_env=development via push option — isso faz o pre-receive hook desviar do caminho com sandbox para o caminho de execução direta.
  4. Combinando com injeção de custom_hooks_dir (com path traversal) e repo_pre_receive_hooks, o hook executa qualquer binário do sistema como o usuário git.

Resultado: RCE total no nó compartilhado, com acesso a todos os repositórios hospedados ali — independentemente de organização ou plano.

Por que isso importa para arquitetos de software?

A CVE-2026-3854 não é só mais um CVE — ela representa uma classe inteira de vulnerabilidade que cresce em importância com a adoção de arquiteturas multi-serviço:

1. Assimetria de confiança entre serviços

Cada serviço em uma pipeline assume que o anterior fez a validação correta. Quando um componente A gera um header e B confia cegamente, qualquer input não sanitizado em A se torna uma arma em B.

2. O perigo de parsers simples com last-write-wins

split(';') é rápido, mas perigoso quando o input contém dados do usuário. O padrão de "pegar o último valor" é particularmente traiçoeiro porque faz override silencioso.

3. Caminhos de código não-produção no binário de produção

O binário do pre-receive hook continha código funcional para execução direta (sem sandbox), ativado por uma flag de ambiente. Isso viola o princípio de "o que não está lá não pode ser explorado".

4. Engenharia reversa assistida por IA

A Wiz usou IDA MCP (AI-augmented reverse engineering) para analisar binários compilados do GitHub em escala. Isso marca uma mudança: agora é viável encontrar vulnerabilidades complexas em software fechado que antes exigiriam meses de trabalho manual.

O que times de arquitetura devem fazer?

  • Sanitize delimitadores no produtor: nunca repasse input do usuário para um protocolo interno sem escapar ou validar os caracteres que separam campos.
  • Implemente schema validation no consumidor: mantenha uma allowlist estática de campos esperados; rejeite qualquer campo inesperado.
  • Elimine caminhos não-produção dos binários de produção: se sandbox=false não é um cenário suportado, remova esse código.
  • Normalize caminhos antes de validar prefixos: filepath.Clean() é simples e previne path traversal mesmo em campos "validados".
  • Documente com ADRs: cada decisão de segurança em protocolos internos merece um Architecture Decision Record que registre o problema, a solução e os trade-offs.

Mitigação

O GitHub corrigiu a vulnerabilidade no GitHub.com em 6 horas após o reporte. Para GitHub Enterprise Server, os patches foram liberados nas versões 3.14.24, 3.15.19, 3.16.15, 3.17.12, 3.18.6 e 3.19.3. 88% das instâncias GHES ainda estavam vulneráveis no momento da divulgação — se você administra uma, atualize imediatamente.

📌 Quer aprender como documentar e implementar mitigações contra essa classe de vulnerabilidade? Confira nosso pacote de prompt para ADR de segurança em protocolos internos no ArchPrompts — um sistema completo de 6 arquivos com prompt principal, regras, exemplos e templates de variação.

Do conceito à execução

Ferramentas práticas para levar as decisões desta nota ao seu próximo projeto.

12 / selecionados
SPA tradicional (REST + JSON) vs HTML over WebSockets: quem renderiza, quem guarda o estado e onde mora a latência em cada abordagem.
Event-Driven
01 / 03

HTML over WebSockets vs SPA — Pacote Multi-Arquivo para ADR de Adoção de Server-Driven UI (Event-Driven) — 5 Arquivos

por João Gabriel

gpt-4GPT-4oClaude+3
(0)
0 vendas
R$ 54,90
Pipeline de Desenvolvimento Seguro na Era da IA: estágios planejamento→implementação→verificação→entrega com feedback loop e papéis IA/humano.
Segurança
01 / 02

SSDLC na Era da IA: ADR + pipeline seguro para times que adotam copilotos e agentes de código (pacote de 5 arquivos)

por João Gabriel

gpt-4ClaudeGemini+1
(0)
0 vendas
R$ 49,90
Fluxo do envenenamento de build no incidente arrayref (20/08/2026): atacante com credencial/autor comprometido publica versão maliciosa no crates.io; o build script baixa payload (infostealer) durante o cargo build, na máquina dev/CI com privilégio; resposta do Rust Security Response Team retira os
Segurança
01 / 03

Plano de Endurecimento de Cadeia de Suprimentos com ADR e Runbook — Pacote Multi-Arquivo para Defesa em Profundidade de Dependências (âncora: incidente arrayref do Rust, 20/08/2026)

por João Gabriel

gpt-4ClaudeGemini
(0)
0 vendas
R$ 59,90
Diagrama do ataque: backdoor time-release em modelo open-source. O harness injeta a data no system prompt a cada turno; nos dias normais o modelo responde normalmente, mas no dia-gatilho um comando malicioso substitui a resposta e é executado pelo shell do agente sem confirmação.
Segurança
01 / 02

Revisão de Segurança e ADR de Adoção de Modelo de IA de Código (contra weight poisoning e backdoor time-release)

por João Gabriel

gpt-4ClaudeGemini+1
(0)
0 vendas
R$ 59,90
Fluxo de redefinição de credenciais: jornada legítima x jornada do atacante explorando o bypass (CVE-2026-18963, CVSS 9.1).
Segurança
01 / 02

ADR de Mitigação de Vulnerabilidade no Fluxo de Redefinição de Credenciais (CVE-2026-18963) — Pacote 5 Arquivos

por João Gabriel

gpt-4GPT-4oClaude+3
(0)
0 vendas
R$ 59,90
Arquitetura de isolamento KVM antes do patch — o caminho do escape guest→host via Januscape (CVE-2026-53359)
ADR
01 / 03

Mitigação de Escape KVM Guest-to-Host — CVE-2026-53359 (Januscape)

por João Gabriel

gpt-4GPT-4oclaude-3-opus+3
(0)
0 vendas
R$ 23,94
Cadeia de ataque: site legítimo publica llms.txt com comando non-dono; agente executa e cai em slot de registro reivindicado por atacante; EDR não alerta.
Segurança

Plano de Mitigação: Agentes de IA Instalando Código Não-Dono em Rede Corporativa

por João Gabriel

gpt-4ClaudeGemini
(0)
0 vendas
R$ 54,90
O clock do embargo colapsou: no modelo clássico, dias entre bug e exploit; hoje agentes transformam uma pista em exploit em menos de um minuto.
Segurança
01 / 03

ADR Reakt: decisão de arquitetura para o fim do embargo de vulnerabilidades (rumor virou exploit em minutos)

por João Gabriel

gpt-4ClaudeGemini+1
(0)
0 vendas
R$ 49,90
Arquitetura de sandbox para agentes de IA: agente não-confiável → orquestrador de política → sandbox descartável com controles de rede/credenciais e auditoria.
Segurança
01 / 02

ADR de adoção de sandbox seguro para agentes de IA (pacote multi-arquivo: prompt + guardrails + exemplos + harness de verificação)

por João Gabriel

gpt-4gpt-4-turboGPT-4o+3
(0)
0 vendas
R$ 49,90
Cadeia de ataque: entrada não confiável → Marshal.load → gadget chain universal → RCE, com o caminho de mitigação por ADR.
Segurança
01 / 03

ADR de Mitigação de RCE por Deserialização no Ruby 4.x — pacote multi-arquivo (prompt principal + regras + exemplos few-shot + harness de verificação + variações de stack)

por João Gabriel

gpt-4GPT-4oclaude-3-5-sonnet+3
(0)
0 vendas
R$ 59,90
Cadeia de ataque do incidente Snowflake×Wiz: do PR gerado por IA ao roubo do token Jira via injeção em GitHub Actions.
Segurança
01 / 02

Harness de Revisão de Segurança para Patches Gerados por IA (Injeção em CI/CD) — 5 arquivos

por João Gabriel

gpt-4ClaudeGemini
(0)
0 vendas
R$ 49,90
Antes: reservas em Redis + ledger em MySQL sem atomicidade entre o claim (UPDATE + DEL) - origem do oversell/undersell.
ADR
01 / 03

ADR de Simplificacao de Stack: Consolidar Reservas de Inventario no Banco Relacional (ACID) - Pacote Multi-Arquivo com Few-shot e Harness

por João Gabriel

GPT-4oclaude-3-5-sonnetgemini-1.5-pro
(0)
0 vendas
R$ 49,90