Foram lançadas atualizações corretivas para as versões da linguagem de programação Ruby 3.3.13, 3.4.12 e 4.0.9, que resolvem uma vulnerabilidade crítica (CVE-2026-110264) resultando em uma condição de overflow de inteiro ao compilar expressões regulares especificamente formatadas. Esta vulnerabilidade pode ser explorada para atacar projetos escritos em Ruby que utilizam dados externos em expressões regulares. Entre outras implicações, foi confirmada a possibilidade de exploração da vulnerabilidade para execução remota de código na plataforma de desenvolvimento colaborativo GitLab. O problema está também bloqueado nas atualizações do GitLab 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 e 18.11.13. A vulnerabilidade foi classificada com o nível de severidade 10 de 10.
A vulnerabilidade está presente no mecanismo de expressões regulares Onigmo e resulta em overflow de identificadores internos ao compilar um padrão com um grande número de repetições. O problema se manifesta apenas em aplicações que utilizam dados externos em expressões regulares processadas por meio dos métodos Regexp.new, Regexp.union e Regexp.compile, ou literais do tipo "/#{input}/". A restrição do tamanho da expressão regular ou do tempo de processamento por meio do método Regexp.timeout não bloqueia a vulnerabilidade, uma vez que padrões curtos podem ser usados para o ataque.
No GitLab, a vulnerabilidade pode ser explorada por um usuário não autenticado devido à inserção de dados externos na expressão regular. Os detalhes do método de exploração ainda não foram divulgados (de acordo com as regras do GitLab, as informações estarão disponíveis 30 dias após a publicação da correção), mas já estão sendo registradas tentativas de ataque a usuários do GitLab. Indicadores indiretos de um ataque podem incluir um aumento no número de encerramentos abruptos do interpretador Ruby e um crescimento de erros nos logs relacionados ao tempo limite de renderização de página durante o processamento de arquivos org.
Além da CVE-2026-110264, o mecanismo de expressões regulares também corrigiu outras três vulnerabilidades: CVE-2026-89078 (liberação dupla de memória ao não conseguir analisar um padrão após sua modificação), CVE-2026-93577 e CVE-2026-97229 (overflow de inteiro ao calcular o tamanho do padrão compilado).
Fonte: opennet.ru
