PT-2025-51779 · Expr+4 · Expr+4
Publicado
2025-12-16
·
Atualizado
2026-05-14
·
CVE-2025-68156
CVSS v2.0
7.8
Alta
| Vetor | AV:N/AC:L/Au:N/C:N/I:N/A:C |
Nome do Software Vulnerável e Versões Afetadas
Versões do Expr anteriores à 1.17.7
Descrição
A biblioteca Expr, utilizada para linguagem e avaliação de expressões em Go, contém uma falha na qual certas funções builtin – incluindo
flatten, min, max, mean e median – podem causar uma negação de serviço. Essas funções percorrem recursivamente estruturas de dados fornecidas pelo usuário sem um limite máximo de profundidade de recursão. Se o ambiente de avaliação incluir estruturas de dados profundamente aninhadas ou cíclicas, essas funções podem entrar em recursão infinita, levando a um panic de estouro de pilha e à falha da aplicação. O problema é mais relevante ao avaliar expressões contra ambientes fornecidos externamente ou construídos dinamicamente. O problema é resolvido introduzindo um limite máximo de profundidade de recursão na versão 1.17.7, que retorna um erro em vez de entrar em panic quando excedido. A profundidade máxima pode ser personalizada usando builtin.MaxDepth.Recomendações
Atualize para a versão 1.17.7 ou posterior do Expr.
Garanta que os ambientes de avaliação não contenham referências cíclicas.
Valide ou sanitize estruturas de dados fornecidas externamente antes de passá-las para o Expr.
Envolva a avaliação de expressões com recuperação de panic como uma medida defensiva de último recurso.
Exploit
Correção
DoS
Allocation of Resources Without Limits
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Almalinux
Expr
Red Hat
Red Os
Rocky Linux