O GitHub publicou GHSA-48jh-3gj7-fg8v às 21:37:00 UTC de 4 de setembro — CVE-2026-73556, CVSS 5,3, contra o vLLM, o servidor de inferência open-source mais amplamente implantado. O aviso circula nos feeds como um novo bug de negação de serviço. É o mesmo bug que o projeto corrigiu em julho, sobrevivendo no caminho de código que a correção não atingiu.
O caminho irmão
O aviso é explícito: "The fix for GHSA-rwxx-mrjm-wc2m … wrapped the regex compile in the xgrammar and outlines backends with compile_regex_with_timeout (and, for outlines, validate_regex_is_buildable). The lm-format-enforcer backend was left unguarded: it compiles the attacker-supplied regex with no timeout and no buildability check." Os três backends chegam à mesma construção de DFA do interegular; dois deles têm limite e um não.
A medição
O aviso publica seus próprios tempos: a regex-base '[0-9]{3}' compila em 0.0002 s; a regex do atacante '(a{1,300}){300}' não foi concluída em 20 s, "one core pegged at 100% in interegular FSM construction". Como a compilação da gramática ocorre dentro do caminho de saída estruturada do mecanismo, a requisição nunca retorna e requisições concorrentes ficam presas atrás dela — negação de serviço no nível do worker. O aviso observa que a mesma requisição contra o backend outlines retorna um erro limpo.
O que a formulação recebida erra
Duas coisas. Trata-se de uma falha de completude do patch, não de uma nova classe de ataque — o fato interessante é que uma correção de segurança chegou a dois de três pontos de chamada irmãos e ninguém percebeu por seis semanas. E "affected versions < 0.26.0" soa como exposição atual: 0.26.0 foi lançada em 27 de julho e a versão atual é 0.28.0, então a divulgação veio 39 dias depois da correção. Quem acompanhava a versão do vLLM nunca ficou exposto após julho; quem a mantinha abaixo dela esteve, sem saber, desde então.
A pré-condição que mal chega a ser uma
O aviso registra que "vLLM ships with no authentication by default". O ataque é um único POST para /v1/completions com uma regex de saída estruturada — sem credenciais, sem acesso ao modelo além do endpoint, sem configuração especial exceto selecionar o backend lm-format-enforcer. Saída estruturada é o recurso que a maioria das implantações em produção ativa, porque é assim que respostas JSON se tornam confiáveis.
