Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CWE-95 (动态执行代码中指令转义处理不恰当(Eval注入)) — Vulnerability Class 174

174 vulnerabilities classified as CWE-95 (动态执行代码中指令转义处理不恰当(Eval注入)). AI Chinese analysis included.

CWE-95 represents a critical code injection vulnerability where software fails to properly sanitize user-supplied input before passing it to a dynamic evaluation function, such as JavaScript’s eval(). Attackers typically exploit this weakness by injecting malicious code snippets into the input stream, which the application then executes with the privileges of the running process. This can lead to complete system compromise, data exfiltration, or unauthorized administrative actions. To mitigate this risk, developers must strictly avoid using dynamic code execution functions whenever possible, opting instead for safer alternatives like JSON parsing or predefined function mappings. When dynamic evaluation is unavoidable, rigorous input validation and strict whitelisting of allowed characters are essential to ensure that only safe, expected data structures are processed, thereby neutralizing potential injection vectors before they reach the interpreter.

MITRE CWE Description
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. "eval").
Common Consequences (5)
Confidentiality Read Files or Directories, Read Application Data
The injected code could access restricted data / files.
Access Control Bypass Protection Mechanism
In some cases, injectable code controls authentication; this may lead to a remote vulnerability.
Access Control Gain Privileges or Assume Identity
Injected code can access resources that the attacker is directly prevented from accessing.
Integrity, Confidentiality, Availability, Other Execute Unauthorized Code or Commands
Code injection attacks can lead to loss of data integrity in nearly all cases as the control-plane data injected is always incidental to data recall or writing. Additionally, code injection can often result in the execution of arbitrary code or at least modify what code can be executed.
Non-Repudiation Hide Activities
Often the actions performed by injected control code are unlogged.
Mitigations (4)
Architecture and Design, Implementation If possible, refactor your code so that it does not need to use eval() at all.
Implementation Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does. When performing input validation, consider all potentially relevant properties, including length, type of input, the full range…
Implementation Inputs should be decoded and canonicalized to the application's current internal representation before being validated (CWE-180, CWE-181). Make sure that your application does not inadvertently decode the same input twice (CWE-174). Such errors could be used to bypass allowlist schemes by introducing dangerous inputs after they have been checked. Use libraries such as the OWASP ESAPI Canonicalizat…
Implementation For Python programs, it is frequently encouraged to use the ast.literal_eval() function instead of eval, since it is intentionally designed to avoid executing code. However, an adversary could still cause excessive memory or stack consumption via deeply nested structures [REF-1372], so the python documentation discourages use of ast.literal_eval() on untrusted data [REF-1373].
Effectiveness: Discouraged Common Practice
Examples (2)
edit-config.pl: This CGI script is used to modify settings in a configuration file.
use CGI qw(:standard); sub config_file_add_key { my ($fname, $key, $arg) = @_; # code to add a field/key to a file goes here } sub config_file_set_key { my ($fname, $key, $arg) = @_; # code to set key to a particular file goes here } sub config_file_delete_key { my ($fname, $key, $arg) = @_; # code to delete key from a particular file goes here } sub handleConfigAction { my ($fname, $action) = @_; my $key = param('key'); my $val = param('val'); # this is super-efficient code, especially if you have to invoke # any one of dozens of different functions! my $code = "config_file_$action_key(\$fnam
Bad · Perl
add_key(",","); system("/bin/ls");
Attack
This simple python3 script asks a user to supply a comma-separated list of numbers as input and adds them together.
def main(): sum = 0 try: numbers = eval(input("Enter a comma-separated list of numbers: ")) except SyntaxError: print("Error: invalid input") return for num in numbers: sum = sum + num print(f"Sum of {numbers} = {sum}") main()
Bad · Python
__import__('subprocess').getoutput('rm -r *')
Attack
CVE ID Title CVSS Severity Published
CVE-2026-85165 n8n before 2.36.2 Expression Sandbox Bypass via SpreadElement — n8n 7.2 High 2026-09-03
CVE-2026-65643 WebPros cPanel 代码注入漏洞 — cPanel 8.7 High 2026-09-01
CVE-2026-19295 Langflow is affected by multiple remote code execution vulnerabilities due to insufficient code-execution policy enforcement — Langflow OSS 9.9 Critical 2026-08-28
CVE-2026-54569 SENAITE.CORE: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection') and Missing Authorization in senaite.core — senaite.core 9.8 Critical 2026-08-26
CVE-2026-75062 Eval Injection in google/langfun via default lf.query protocol — langfun 9.2 Critical 2026-08-26
CVE-2026-78136 CHIRP 代码注入漏洞 — CHIRP 7.8 High 2026-08-23
CVE-2026-61539 Xinference: Remote code execution via unsafe `eval()` in Llama3 tool-call parsing — inference 10.0 Critical 2026-08-21
CVE-2026-77810 Code Injection via Gremlin Query Passthrough in Amazon Athena Neptune Connector — Athena Federated Query Neptune Connector 9.9 Critical 2026-08-21
CVE-2026-76833 @cgauge/yaml npm Package Arbitrary Code Execution via eval() YAML Tag — @cgauge/yaml 7.8 High 2026-08-20
CVE-2026-34398 FreeCAD: Arbitrary Code Execution via eval() on untrusted project file metadata in BIM Workbench — FreeCAD 7.8 High 2026-08-17
CVE-2026-34399 FreeCAD: Arbitrary Code Execution via eval() on untrusted SVG template scale field in BIM TechDraw Page — FreeCAD 7.8 High 2026-08-17
CVE-2026-74899 openssl_encrypt before 1.4.0 Sandbox Escape via Type Hierarchy — openssl_encrypt 9.8 Critical 2026-08-17
CVE-2026-19626 Remote Code Execution — Security Center 9.9 Critical 2026-08-14
CVE-2026-13048 Data::MuForm::Localizer versions through 0.05 for Perl execute Perl from a message catalog header, reached at an arbitrary path because load_lexicon interpolates the language attribute into the catalog filename - - 2026-08-13
CVE-2026-73602 Flowise before 3.1.3 Sandbox Escape to RCE — Flowise 9.0 Critical 2026-08-13
CVE-2026-73601 Flowise before 3.1.3 Remote Code Execution via Custom MCP — Flowise 9.0 Critical 2026-08-13
CVE-2026-73231 Faker: helpers.fake exploitable into arbritary code execution — faker 7.8 High 2026-08-11
CVE-2025-31114 Fooocus webui vulnerable to Remote Code Execution — Fooocus 9.3 Critical 2026-08-11
CVE-2026-69253 Flowise Sandbox Escape to RCE — Flowise 9.0 Critical 2026-08-04
CVE-2026-67195 Perspective 5.0.0 RCE via eval() Expression Injection — perspective 8.8 High 2026-08-04
CVE-2026-48317 Adobe Campaign Classic (ACC) | Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection') (CWE-95) — Adobe Campaign Classic 9.6 Critical 2026-08-03
CVE-2026-39932 OpenEMR 8.2.0 Remote Code Execution via CategoryTree eval() Injection — openemr 9.1 Critical 2026-08-03
CVE-2026-45293 WordPress Coding Standards (WordPressCS) contains an arbitrary code execution vulnerability — WordPress-Coding-Standards 8.6 High 2026-07-28
CVE-2026-61511 vBulletin < 6.2.2 Eval Injection RCE via vb5/template/runtime.php — vBulletin 9.8 Critical 2026-07-27
CVE-2025-71408 NLTK < 3.9.3 Eval Injection via collocations.py Command-Line Arguments — ntlk 7.8 High 2026-07-24
CVE-2026-47391 PraisonAI's unauthenticated A2A official example can reach real LLM-driven `eval()` tool execution — PraisonAI 9.8 Critical 2026-07-21
CVE-2026-64193 Net::DNS versions through 1.55 for Perl allow remote execution injection via EDNS EXTENDED ERROR — Net::DNS - - 2026-07-20
CVE-2026-14380 DBI versions before 1.650 for Perl are vulnerable to code injection via caller-influenced Profile - - 2026-07-07
CVE-2026-45406 Dokku: Host RCE via Maliciously Named OpenResty Include Files Injected Through eval — dokku 9.0 Critical 2026-06-26
CVE-2025-71361 picklescan - Remote Code Execution via Undetected idlelib.calltip.Calltip.fetch_tip — picklescan 8.1 High 2026-06-24

Vulnerabilities classified as CWE-95 (动态执行代码中指令转义处理不恰当(Eval注入)) represent 174 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.