A correção de emergência do GitLab fecha uma falha GraphQL sem cliques
A CVE-2026-19478 é uma falha crítica de injeção de diretivas GraphQL no GitLab Community Edition e Enterprise Edition, com uma pontuação CVSS de 9.4, que permitia a um atacante não autenticado, em qualquer ponto da internet, alcançar métodos que alteram o estado através do que parecia ser uma simples consulta de leitura.
A falha reside na forma como o GitLab trata a diretiva @gl_introduced(version: ...): marcar um campo com essa diretiva transforma-o numa invocação de método contra o objeto que ocupa essa posição no grafo, pelo que um único pedido GraphQL preparado podia alterar ou eliminar projetos públicos, dados de utilizadores e registos de merge sem conta, privilégios ou interação do utilizador.
O GitLab lançou a 17 de agosto de 2026 as versões corrigidas 19.2.4, 19.1.6, 19.0.8 e 18.11.11 como um lançamento de emergência fora do seu ciclo habitual de correções quinzenal, o que sublinha até que ponto a gravidade forçou uma resposta acelerada.
O GitLab.com já estava corrigido antes de o aviso público existir
O GitLab.com e o GitLab Dedicated, as ofertas alojadas da empresa, já corriam versões corrigidas antes mesmo de o aviso de segurança da CVE-2026-19478 ser publicado, pelo que os clientes nessas plataformas não tiveram qualquer janela de exposição.
As instalações self-managed foram uma história diferente: a watchTowr, a empresa de investigação de segurança liderada pelo investigador principal Jake Knott, fez passar a divulgação pela sua rede de honeypots e reproduziu um exploit funcional em minutos após a publicação do aviso, confirmando em separado tentativas de exploração já ativas contra instâncias não corrigidas em ambiente real.
A falha foi reportada pela primeira vez ao GitLab através do HackerOne por um investigador que usa o pseudónimo hiimguardian, e surgiu juntamente com uma segunda vulnerabilidade relacionada: a CVE-2026-19650, um problema de CSRF no tratamento de consultas multiplex de GraphQL com uma pontuação CVSS de 7.1, corrigida na mesma vaga de lançamentos.
| Detalhe | CVE-2026-19478 | CVE-2026-19650 |
|---|---|---|
| Pontuação CVSS | 9.4 (Crítica) | 7.1 |
| Tipo de vulnerabilidade | Injeção de diretivas GraphQL | CSRF no tratamento de consultas multiplex de GraphQL |
| Requer autenticação | Não | Requer enganar uma sessão autenticada |
| Impacto | Alterar ou eliminar projetos públicos, dados de utilizadores e registos de merge | Falsificação de pedidos entre sítios através de consultas multiplex |
A escolha de soberania que criou a janela de exposição
Muitas organizações europeias escolhem o GitLab self-managed precisamente porque mantém o código, as credenciais e o histórico de merges dentro da sua própria infraestrutura, cumprindo requisitos de soberania de dados e de conformidade que uma plataforma SaaS partilhada não consegue garantir sozinha.
A CVE-2026-19478 mostra o outro lado dessa escolha: os próprios clientes SaaS do GitLab ficaram protegidos automaticamente, corrigidos antes mesmo de o aviso público existir, enquanto as implementações self-managed que as organizações atentas à soberania preferem precisaram de uma pessoa que reparasse no aviso, aplicasse a correção e a confirmasse, tudo dentro de uma janela crítica não autenticada, sem interação e ativamente explorada.
Isto não é um argumento contra o GitLab self-managed, mas sim um lembrete de que soberania e atraso na correção são dois riscos diferentes que se compensam mutuamente, e que uma organização que escolhe o self-hosting pelo controlo sobre os seus dados também se escolheu a si própria como última linha de defesa no dia da correção.
Uma terceira falha GraphQL em 2026 transforma uma correção num padrão
A CVE-2026-19478 é, segundo análises da imprensa especializada, entre as quais a TechTimes, a terceira vulnerabilidade distinta da classe de diretivas GraphQL que o GitLab revela em 2026, o que significa que a fragilidade subjacente não é um erro de código isolado, mas um padrão recorrente na forma como a camada GraphQL do GitLab resolve diretivas.
A cobertura independente da Dark Reading, eSecurityPlanet, SOCPrime, Ox Security e CyCognito corrobora o mesmo panorama técnico, e a par do lançamento de emergência do GitLab, o padrão sugere tratar isto como uma classe de risco e não como um único bilhete encerrado.
Para um administrador de GitLab self-managed, a resposta prática passa por acrescentar deteção contínua de esquema e introspeção GraphQL ao pipeline de implementação em vez de esperar pelo próximo aviso, porque a injeção baseada em diretivas já se repetiu três vezes num ano e é provável que volte a acontecer.
Leia a seguir: Seis dias, três falhas críticas, sem margem | Esta falha do ColdFusion foi atacada em minutos



