CVE-2026-77299 in Regexp2
Sumário
de VulDB • 06/11/2026
Regexp2 é um motor de expressões regulares (RegExp) rico em recursos para Go. Antes da versão 2.3.0, quando o regexp2 compila e faz a correspondência de um padrão contendo um quantificador de contagem fixa grande aplicado a uma subexpressão de largura zero — por exemplo, `(?:){50000000}` — o mecanismo de correspondência executa o corpo do loop vazio m-1 vezes, empurrando dois inteiros para a pilha de backtracking em cada iteração. Como o analisador aceita qualquer contagem de repetição até math.MaxInt32 e a pilha de backtracking cresce sem limites, um padrão com menos de 20 bytes correspondido contra uma entrada vazia pode forçar alocações de vários gigabytes e causar OOM-kill (matando o processo por falta de memória) do processo. MatchTimeout não mitiga totalmente este problema porque a memória é alocada mais rapidamente do que o relógio de tempo limite de 100 ms pode disparar. Esta questão foi corrigida na versão 2.3.0.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.