CVE-2026-12866: expr-eval: injeção de código via toJSFunction()
A CVE-2026-12866 afeta o pacote JavaScript expr-eval, em que a API toJSFunction() pode transformar expressões fornecidas pelo usuário em código nativo por meio de new Function(). O registro a classifica como crítica, com pontuação CVSS 3.1 de 9.8 e CVSS 4.0 de 9.2 informadas pela Snyk, e como CWE-94 (injeção de código). Ela não consta na lista KEV da CISA e não há exploração confirmada nas fontes consultadas.
Visão geral
A CVE-2026-12866 é um problema de injeção de código no pacote JavaScript expr-eval. Segundo o registro, a API toJSFunction() compila expressões controladas pelo usuário em código nativo usando new Function(), o que pode permitir contornar o limite da avaliação de expressões. O CNA é a Snyk, e o registro está em status Deferred.
Impacto
- O registro descreve a execução de JavaScript arbitrário no contexto da aplicação hospedeira.
- A pontuação CVSS 3.1 informada pela Snyk é 9.8 (crítica), e a pontuação CVSS 4.0 é 9.2.
- Pelo vetor CVSS 3.1 presente no registro, confidencialidade, integridade e disponibilidade são classificadas como altas, sem necessidade de privilégios ou de interação do usuário. O impacto prático depende de como a aplicação expõe a API afetada.
Produtos e versões afetadas
- A descrição indica que todas as versões do expr-eval são afetadas.
- O registro não traz uma lista estruturada de faixas de versões afetadas ou corrigidas, portanto não é possível confirmar limites de versão com as fontes consultadas.
- As entradas da Snyk citadas incluem um pacote Java WebJars de npm, o que sugere empacotamento downstream, mas o registro não detalha as versões afetadas nesse caso.
Status de exploração
- A vulnerabilidade não consta no catálogo Known Exploited Vulnerabilities da CISA.
- Não há exploração confirmada na natureza nas fontes consultadas.
Correção e mitigação
- Verifique se suas aplicações ou dependências incluem o expr-eval, diretamente ou por meio de pacotes transitivos.
- Trate qualquer uso de avaliação de expressões com entrada não confiável como de alto risco até que uma correção do fornecedor ou um caminho de atualização verificado seja confirmado.
- Reduza a exposição restringindo quais usuários ou serviços podem enviar expressões, validando entradas e executando a avaliação em processos isolados e com privilégios mínimos.
- Acompanhe a issue do projeto upstream e os avisos da Snyk para detalhes de correção, já que o registro não informa uma versão corrigida.
Orientações de detecção
- Inventarie manifestos e arquivos de lock em busca de expr-eval, incluindo cópias empacotadas em ativos web ou em Java WebJars.
- Revise logs da aplicação em busca de entradas de expressão incomuns ou de atividade inesperada de processos ou de rede originada do processo da aplicação.
- Configure alertas para endpoints de avaliação que recebam padrões de entrada incomumente complexos ou inesperados.
Limitações das informações disponíveis
- O registro não informa versão corrigida, lista de faixas afetadas nem patch do fornecedor.
- O status de exploração se limita à ausência de inclusão no KEV e à falta de detalhes de exploração nas fontes consultadas.
- Dados de EPSS e SSVC não estão disponíveis no registro.
Perguntas frequentes
O que é a CVE-2026-12866?
É um problema crítico de injeção de código (CWE-94) no pacote JavaScript expr-eval, em que a API toJSFunction() compila expressões controladas pelo usuário em código executável usando new Function().
A CVE-2026-12866 está sendo explorada ativamente?
Ela não consta no KEV da CISA, e não há exploração confirmada nas fontes consultadas. O registro não traz mais detalhes de exploração.
Quais versões são afetadas e há correção?
A descrição indica que todas as versões do expr-eval são afetadas. O registro não informa versão corrigida, então o status de correção deve ser verificado com o fornecedor ou com os avisos referenciados.
Esta análise foi redigida com auxílio de IA a partir de dados verificados das fontes e checada automaticamente contra eles.