Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 392

Injeção em eval

O que é Injeção em eval?

Injeção em evalSubcaso concreto de injeção de código causado por passar entrada não confiável a primitivas de avaliação dinâmica como eval() de JavaScript ou eval/exec de Python.


A injeção em eval é o subcaso concreto da injeção de código em que a função de avaliação dinâmica da linguagem — eval ou new Function em JavaScript, setTimeout com string, eval/exec em Python, eval em Ruby, equivalentes em PHP, Application.Run em VBA — é invocada com dados direta ou indiretamente vindos do utilizador. Como estas primitivas interpretam a string como código-fonte completo no processo hospedeiro, a exploração concede RCE ao nível da linguagem: acesso a imports, globais, sistema de ficheiros, ambiente e processos filhos. As mitigações incluem eliminar a avaliação dinâmica, usar parsers seguros (JSON.parse, ast.literal_eval), validadores com lista branca rigorosa para expressões matemáticas, e sandboxes como vm2 ou subprocessos restritos.

Exemplos

  1. 01

    Python: result = eval(request.form['expr']) — payload __import__('os').system('id').

  2. 02

    Node: new Function('return ' + req.query.f)() — payload process.mainModule.require('child_process').execSync('id').

Perguntas frequentes

O que é Injeção em eval?

Subcaso concreto de injeção de código causado por passar entrada não confiável a primitivas de avaliação dinâmica como eval() de JavaScript ou eval/exec de Python. Pertence à categoria Ataques e ameaças da cibersegurança.

O que significa Injeção em eval?

Subcaso concreto de injeção de código causado por passar entrada não confiável a primitivas de avaliação dinâmica como eval() de JavaScript ou eval/exec de Python.

Como funciona Injeção em eval?

A injeção em eval é o subcaso concreto da injeção de código em que a função de avaliação dinâmica da linguagem — eval ou new Function em JavaScript, setTimeout com string, eval/exec em Python, eval em Ruby, equivalentes em PHP, Application.Run em VBA — é invocada com dados direta ou indiretamente vindos do utilizador. Como estas primitivas interpretam a string como código-fonte completo no processo hospedeiro, a exploração concede RCE ao nível da linguagem: acesso a imports, globais, sistema de ficheiros, ambiente e processos filhos. As mitigações incluem eliminar a avaliação dinâmica, usar parsers seguros (JSON.parse, ast.literal_eval), validadores com lista branca rigorosa para expressões matemáticas, e sandboxes como vm2 ou subprocessos restritos.

Como se defender contra Injeção em eval?

As defesas contra Injeção em eval costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Quais são outros nomes para Injeção em eval?

Nomes alternativos comuns: Injeção eval(), Injeção de avaliação dinâmica.

Termos relacionados