Guias de Segurança

GitLab CVE-2026-110264 (CVSS 10.0): como verificar e atualizar um GitLab self-managed

Correção crítica do GitLab de 21 de outubro de 2026 corrige a CVE-2026-110264 (CVSS 10.0): usuário não autenticado pode executar código. Atualize já.

Publicado 2026-10-25 Atualizado 2026-10-25 Última verificação 2026-10-25 11 min de leitura
Nesta página

Público-alvo: administradores que executam o GitLab em seus próprios servidores ou na nuvem (self-managed) e desenvolvedores que criam aplicações em Ruby. Esta página se baseia no aviso de versão de correção do GitLab, no anúncio oficial do Ruby, no National Vulnerability Database (NVD) dos EUA e nos dados públicos da CISA. Ela não explica como os ataques funcionam.

続報待ち:この記事は公式発表に合わせて更新します

em 25 de outubro de 2026, às 08:00 JST

まだ分かっていないこと

  • As condições exatas em que a falha pode ser acionada (o GitLab diz apenas 'sob certas condições')
  • Qualquer mudança no status de exploração (nenhuma relatada na divulgação)
  • A avaliação própria do NVD (em análise)

O GitLab publicou a versão de correção em 21 de outubro, e a equipe do Ruby lançou as versões corrigidas em 23 de outubro. Não há relatos de exploração, e a falha não consta no catálogo KEV da CISA. O GitLab diz que os detalhes serão publicados 90 dias após o lançamento. Esta página será atualizada se a situação mudar.

O que fazer hoje (GitLab self-managed)

1

Verifique a versão

Em uma instalação por pacote Linux (Omnibus), execute sudo gitlab-rake gitlab:env:info em um nó que roda o GitLab Rails; a versão aparece na seção "GitLab information". Você também pode vê-la na área Admin ao entrar como administrador. Em configurações com vários nós, verifique cada um.

2

Migre para a versão corrigida da mesma linha

Se você está na 19.4.x, vá para a 19.4.3; na 19.3.x, vá para a 19.3.6, e assim por diante. Na visão deste site, uma atualização de patch dentro da mesma linha minor normalmente não envolve paradas obrigatórias (confirme com a ferramenta do GitLab). O GitLab informa que instâncias de nó único devem esperar indisponibilidade, porque o GitLab não inicia até que as migrações terminem. Instâncias com vários nós podem usar o procedimento de atualização sem indisponibilidade.

3

A partir de versões antigas, verifique primeiro as paradas obrigatórias

O GitLab define paradas obrigatórias de atualização que não podem ser puladas. Até outubro de 2026, a lista inclui 18.2, 18.5, 18.8 e 18.11 para o GitLab 18, e 19.2, 19.5, 19.8 e 19.11 para o GitLab 19 (das paradas do GitLab 19, 19.2 e 19.5 já foram lançadas). Informe sua versão atual e a versão de destino na ferramenta Upgrade Path do GitLab para obter as versões pelas quais você precisa passar. O GitLab diz que você deve atualizar para essas versões antes das seguintes e aguardar a conclusão das migrações em segundo plano em cada parada.

4

Se não puder atualizar imediatamente, restrinja quem pode acessar

O aviso do GitLab não oferece nenhuma solução alternativa além da atualização. Até atualizar, este site recomenda manter o GitLab inacessível de fora da sua rede com firewall ou VPN e desativar novos cadastros. Nenhuma dessas medidas fecha a brecha, então mantenha a atualização em andamento.

5

Procure sinais de invasão

O GitLab publicou duas detecções de ameaças para clientes self-managed (na seção "Detecting CVE-2026-110264 Exploitation Attempts" do aviso). Se você tiver monitoramento de logs, carregue-as. Também procure processos, arquivos, contas de administrador e conexões de saída desconhecidas. Veja como verificar se seu servidor foi comprometido.

Eu sou afetado? Tabela rápida

O que você executaCVE-2026-110264 (Crítica)Falhas de gravidade Alta e outras na mesma versãoDestino
19.5.x antes de 19.5.1AfetadoAfetado19.5.1
19.4.x antes de 19.4.3AfetadoAfetado19.4.3
19.3.x antes de 19.3.6AfetadoAfetado19.3.6
19.0.x a 19.2.xAfetado (corrigido em 19.0.10, 19.1.9, 19.2.9)Corrigido apenas na 19.3.6 e posteriores19.3.6 ou posterior
18.11.x antes de 18.11.13Afetado (corrigido em 18.11.13)Corrigido apenas na 19.3.6 e posteriores19.3.6 ou posterior
18.10 e anteriores (a partir da 7.0)AfetadoDepende da falhaVersão mais nova via paradas obrigatórias
GitLab.comCorrigidoCorrigidoNenhuma ação
GitLab DedicatedCorrigido a partir de 19.3.5-internal0, 19.4.2-internal0IgualNenhuma ação, segundo o GitLab

O intervalo afetado difere para cada uma das outras falhas (por exemplo, a CVE-2026-15723 começa na 10.1 e a CVE-2026-112212 na 18.3). Consulte a tabela no aviso do GitLab para os intervalos exatos.

Versão atual

Antes da correção, a falha crítica permanece

18.11.13 a 19.2.9

Crítica corrigida, falhas Altas permanecem

19.3.6 / 19.4.3 / 19.5.1

Todas as correções desta versão

As correções da 18.11 à 19.2 são um ponto de parada temporário que corrige apenas a falha crítica. As correções de gravidade Alta chegam somente a partir da 19.3.6.

O que foi divulgado (a partir do aviso do GitLab)

Versão de correção crítica do GitLab (21 de outubro de 2026)
CVE
CVE-2026-110264 (CWE-190: estouro de inteiro)
Gravidade
Crítica, CVSS v3.1 10.0 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H, classificação do GitLab)
Problema
Sob certas condições, um estouro de inteiro ao compilar uma expressão regular especialmente elaborada poderia permitir que um usuário não autenticado executasse código arbitrário no servidor GitLab
Afetados
GitLab CE/EE a partir da 7.0, antes de 18.11.13, 19.0.10, 19.1.9, 19.2.9, 19.3.6, 19.4.3 e 19.5.1
Já corrigido
GitLab.com; GitLab Dedicated a partir de 19.3.5-internal0 e 19.4.2-internal0
Reportado por
Um pesquisador externo, pelo programa de bug bounty do GitLab na HackerOne
Exploração
Não informada no aviso; não consta no catálogo KEV da CISA até 25 de outubro
10.0
CVSS da CVE-2026-110264 (classificação do GitLab)
Sem login
Privilégios necessários (PR:N)
7 linhas
Linhas de versão com correção (18.11 a 19.5)
12
CVEs corrigidas na mesma versão

A mesma versão corrige outras 11 vulnerabilidades, duas delas de gravidade Alta. A CVE-2026-15723 (CVSS 8.2) poderia permitir que um usuário autenticado assumisse uma conta existente com backend LDAP quando o SAML via OmniAuth e a vinculação automática com LDAP estão ambos ativados. A CVE-2026-112212 (CVSS 7.5) poderia permitir que o documento de descoberta OAuth/OIDC em cache fosse envenenado, de modo que certos fluxos fossem enviados a um servidor externo. As demais são cinco de gravidade Média e quatro Baixa.

A avaliação SSVC da CISA, datada de 21 de outubro, lista a exploração como "none", a automatização como "yes" e o impacto técnico como "total". Concluir a atualização enquanto não há relatos de exploração é a forma mais barata de resolver isso (visão deste site).

A causa raiz está no motor de regex do Ruby: para desenvolvedores Ruby

Em 23 de outubro, a equipe do Ruby lançou o Ruby 4.0.9, 3.4.12 e 3.3.13, que corrigem bugs no motor de expressões regulares do Ruby (Onigmo). Eles corrigem três bugs relacionados a quatro CVEs atribuídas pelo GitLab (CVE-2026-89078, CVE-2026-93577, CVE-2026-97229 e CVE-2026-110264). As três CVEs além da CVE-2026-110264 foram corrigidas no GitLab 19.4.1 e 19.4.2.

O Regexp.timeout não ajuda

Segundo o anúncio do Ruby, os bugs só são alcançados quando uma aplicação compila uma regexp a partir de uma string controlada por um atacante (Regexp.new, Regexp.union, Regexp.compile ou interpolação como /#{input}/). Aplicações que usam apenas regexps escritas pelo desenvolvedor não são afetadas. O Regexp.timeout não protege contra esses bugs, e limitar o tamanho do padrão também não é confiável.

O Ruby 3.3 está em manutenção apenas de segurança, mas a 3.3.13 inclui essas correções como exceção, porque o GitLab atribuiu CVEs a problemas que dependem delas. O Ruby 3.2 chegou ao fim de vida em 1º de abril de 2026 e não tem versão corrigida.

Os pacotes Linux e as imagens cloud native do GitLab incluem as próprias correções de regexp do GitLab, então os administradores do GitLab atualizam o próprio GitLab, não o Ruby do servidor. Se você instalou o GitLab a partir do código-fonte, este site recomenda atualizar também esse Ruby para uma versão corrigida.

Padrões de risco

  • Passar a entrada de caixas de busca ou filtros diretamente para Regexp.new
  • Executar padrões que usuários cadastram como regexps no servidor
  • Presumir que o Regexp.timeout ou um limite de tamanho torna isso seguro
  • Continuar no Ruby 3.2 ou anterior após o fim de vida

Padrões mais seguros

  • Para busca de texto simples, use Regexp.escape para que a entrada seja comparada literalmente
  • Pergunte se é realmente necessário permitir que usuários escrevam regexps
  • Se for, execute isso com outro motor de regex ou em um processo isolado (visão deste site)
  • Atualize o Ruby para 4.0.9, 3.4.12 ou 3.3.13 ou posterior

Não é possível saber apenas pelo seu próprio código se uma gem ou framework do qual você depende monta regexps a partir da entrada do usuário, por isso atualizar o Ruby é a correção mais confiável. Para acompanhar dependências, veja como monitorar CVEs de dependências com o osv-scanner.

O que servidores Git self-hosted costumam esquecer

Executar o GitLab por conta própria elimina alguns acidentes, como um repositório tornado público por engano, mas a responsabilidade pela aplicação de patches passa a ser sua. Com uma falha que remonta à 7.0, os servidores que deixaram de ser atualizados há muito tempo têm mais paradas obrigatórias a cumprir e o trabalho mais pesado.

Visão deste site: mantenha-se pelo menos uma parada atrás da última parada obrigatória de atualização em tempos normais. Assim, uma atualização de emergência é de um ou dois passos, não uma longa sequência. Para as vantagens e desvantagens de hospedar por conta própria, veja Git self-hosted vs GitHub: qual é mais seguro.

O que ainda é desconhecido

ItemStatus
As condições exatas para a falhaNão informadas ("sob certas condições"; detalhes a serem publicados 90 dias após o lançamento)
ExploraçãoNão informada (não consta no KEV da CISA até 25 de outubro)
Código de exploração públicoNão informado
Avaliação do NVDEm análise (a classificação do GitLab é 10.0)
CVEs para os próprios bugs do RubyAinda não solicitadas pela equipe do Ruby (podem ser reavaliadas)

Fontes

  • GitLab, "GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13" (21 de outubro de 2026) — docs.gitlab.com
  • Ruby, "Regexp compilation fixes related to GitLab's CVE-2026-89078, CVE-2026-93577, CVE-2026-97229 and CVE-2026-110264" (23 de outubro de 2026) — ruby-lang.org
  • Ruby, "Ruby Maintenance Branches" — ruby-lang.org
  • GitLab, "Upgrade paths" — docs.gitlab.com
  • GitLab, "Maintenance Rake tasks" (gitlab:env:info) — docs.gitlab.com
  • NIST NVD, "CVE-2026-110264" — nvd.nist.gov
  • CISA, "Known Exploited Vulnerabilities Catalog" — cisa.gov

Histórico de alterações

2026-10-25: Primeira versão, com base no aviso de versão de correção do GitLab, no anúncio oficial do Ruby, no NVD e no catálogo KEV da CISA (versão de 23 de outubro de 2026).

Leia em seguida

Notícias urgentes recentes

FAQ

QO que aconteceu?
A

Em 21 de outubro de 2026, o GitLab lançou as versões de correção crítica 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 e 18.11.13 para CE e EE. A falha mais grave, a CVE-2026-110264 (CVSS 10.0), é um estouro de inteiro ao compilar uma expressão regular especialmente elaborada que, sob certas condições, poderia permitir que um usuário não autenticado executasse código arbitrário no servidor GitLab.

QMeu GitLab é afetado?
A

Uma instância GitLab CE/EE self-managed é afetada se estiver na versão 7.0 ou posterior e for anterior à versão corrigida da sua linha: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 ou 18.11.13. O GitLab.com já está corrigido. Para o GitLab Dedicated, tenants nas versões 19.3.5-internal0, 19.4.2-internal0 ou posteriores já têm as correções.

QAtualizar para 18.11.13 ou 19.2.9 é suficiente?
A

Corrige a CVE-2026-110264, mas, segundo o aviso do GitLab, as falhas de gravidade Alta da mesma versão (CVE-2026-15723, CVE-2026-112212) e as demais são corrigidas apenas nas versões 19.3.6, 19.4.3 e 19.5.1. Trate 18.11.13 até 19.2.9 como um ponto de parada temporário para a falha crítica e planeje a migração para 19.3.6 ou posterior (visão deste site).

QEssa falha está sendo explorada?
A

O aviso do GitLab não diz que houve exploração, e a falha não consta no catálogo Known Exploited Vulnerabilities (KEV) da CISA até 25 de outubro de 2026. O GitLab publicou duas detecções de ameaças para ajudar clientes self-managed a identificar tentativas de exploração.

QEu desenvolvo aplicações em Ruby. Isso me afeta?
A

Pode afetar. Em 23 de outubro, o Ruby lançou 4.0.9, 3.4.12 e 3.3.13 para corrigir bugs em seu motor de expressões regulares (Onigmo). Apenas aplicações que compilam uma regexp a partir de uma string controlada pelo atacante (Regexp.new, Regexp.union, /#{input}/ e similares) são afetadas; aplicações que usam apenas regexps escritas pelo desenvolvedor não são. O Ruby afirma que o Regexp.timeout não protege contra esses bugs e que limitar o tamanho do padrão também não é confiável.

QAinda estamos no Ruby 3.2 ou anterior.
A

O Ruby 3.2 chegou ao fim de vida em 1º de abril de 2026, e as únicas versões corrigidas são 4.0.9, 3.4.12 e 3.3.13. Migre para a 3.3.13 ou posterior. Até conseguir, a equipe do Ruby recomenda não compilar regexps a partir de entrada não confiável.