O essencial
CVE-2025-12735 permite que um atacante execute comandos do sistema ao explorar a forma como o parser de expr-eval lida com a object context e funções definidas dinamicamente. A vulnerabilidade foi responsávelmente divulgada por pesquisador e corrigida via PR no repositório alternativo expr-eval-fork; a versão corrigida é expr-eval-fork v3.0.0.
Descoberta e vetor
Pesquisadores da Carnegie Mellon University demonstraram que é possível injetar funções arbitrárias no objeto de contexto usado pelo parser, levando à execução de código em tempo de avaliação. Como expr-eval é oferecida como alternativa segura ao eval() nativo do JavaScript para expressões matemáticas, a descoberta afeta projetos que confiam no pacote para avaliar input dinâmico proveniente de usuários ou serviços externos.
Alcance e impacto
- O pacote tem mais de 250 pacotes dependentes, incluindo implementações JavaScript de frameworks populares para LLMs e fluxos de dados (por exemplo, implementações do tipo LangChain), ampliando o risco em ecossistemas de AI/NLP.
- A análise da publicação classifica o impacto técnico como "Total Technical Impact" no framework SSVC — adversários ganham controle completo sobre o comportamento do software vulnerável e acesso ao sistema onde o processo roda.
Mitigação e ações imediatas
As medidas recomendadas são claras e passíveis de automação:
- Atualize para expr-eval-fork v3.0.0, que introduz uma allowlist de funções seguras, exige registro explícito para funções customizadas e amplia testes de segurança.
- Execute auditorias com npm audit e integre checagens de dependências no pipeline de CI/CD para detectar instâncias que dependem de expr-eval ou forks vulneráveis (GHSA-jc85-fpwf-qm7x).
- Onde a atualização imediata for inviável, aplique controles compensatórios: executar serviços avaliadores em ambientes com privilégios mínimos e restringir acesso a recursos sensíveis (sistemas de arquivos, execução de comandos).
O que os times devem verificar
Inventarie dependências transitivas (npm ls / npm audit), identifique pacotes que importem expr-eval diretamente e cheque implementações que exponham interfaces para processamento de expressões (APIs REST, workers de ingestão). Priorize serviços com capacidade de executar comandos do sistema ou que rodem com privilégios elevados.
Limitações e fontes
As publicações associam a correção ao fork expr-eval-fork v3.0.0 e mencionam o PR #288 como mecanismo de patch. As fontes não reportam, neste momento, exploração em larga escala em ambientes de produção — porém o perfil de impacto (RCE) torna a correção urgente.
Resumo tático
Trate a descoberta como alta prioridade operativa: inventário, patch, teste e isolamento até que todas as instâncias afetadas sejam atualizadas. Integre checagens de segurança de dependências no pipeline e monitore alertas de npm/GitHub Advisory para variações do pacote em suas cadeias de dependência.