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)
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.
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.
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.
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.
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ê executa | CVE-2026-110264 (Crítica) | Falhas de gravidade Alta e outras na mesma versão | Destino |
|---|---|---|---|
| 19.5.x antes de 19.5.1 | Afetado | Afetado | 19.5.1 |
| 19.4.x antes de 19.4.3 | Afetado | Afetado | 19.4.3 |
| 19.3.x antes de 19.3.6 | Afetado | Afetado | 19.3.6 |
| 19.0.x a 19.2.x | Afetado (corrigido em 19.0.10, 19.1.9, 19.2.9) | Corrigido apenas na 19.3.6 e posteriores | 19.3.6 ou posterior |
| 18.11.x antes de 18.11.13 | Afetado (corrigido em 18.11.13) | Corrigido apenas na 19.3.6 e posteriores | 19.3.6 ou posterior |
| 18.10 e anteriores (a partir da 7.0) | Afetado | Depende da falha | Versão mais nova via paradas obrigatórias |
| GitLab.com | Corrigido | Corrigido | Nenhuma ação |
| GitLab Dedicated | Corrigido a partir de 19.3.5-internal0, 19.4.2-internal0 | Igual | Nenhuma 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
O que foi divulgado (a partir do aviso do GitLab)
- 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
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
| Item | Status |
|---|---|
| As condições exatas para a falha | Não informadas ("sob certas condições"; detalhes a serem publicados 90 dias após o lançamento) |
| Exploração | Não informada (não consta no KEV da CISA até 25 de outubro) |
| Código de exploração público | Não informado |
| Avaliação do NVD | Em análise (a classificação do GitLab é 10.0) |
| CVEs para os próprios bugs do Ruby | Ainda 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
- Vantagens e desvantagens do self-hosting: Git self-hosted vs GitHub: qual é mais seguro
- Priorização: Como decidir quais CVEs corrigir primeiro (CVSS, EPSS, KEV)
- Verificação de comprometimento: Como verificar se seu servidor foi comprometido
- Outra correção de runtime na mesma semana: Vulnerabilidades do PHP CVE-2026-109618 e CVE-2026-109619
- Termos: O que é RCE (execução remota de código) / O que é CVSS