目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CWE-95 动态执行代码中指令转义处理不恰当(Eval注入) 类漏洞列表 174

CWE-95 动态执行代码中指令转义处理不恰当(Eval注入) 类弱点 174 条 CVE 漏洞汇总,含 AI 中文分析。

CWE-95 属于代码注入类漏洞,指程序在接收上游输入后,未正确净化代码语法便直接用于动态执行调用(如 eval)。攻击者通常通过构造恶意输入,诱导程序执行任意代码,从而获取系统控制权或窃取数据。开发者应避免使用动态执行函数,若必须使用,需严格对输入进行白名单校验或转义特殊字符,确保仅允许预期的安全代码片段被执行,从而从根源上阻断注入风险。

MITRE CWE 官方描述
CWE:CWE-95 动态评估代码中指令的不当中和('Eval Injection') 英文:产品从上游组件接收输入,但在将输入用于动态评估调用(例如 "eval")之前,未对代码语法进行中和或中和不当。
常见影响 (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.
缓解措施 (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
代码示例 (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 标题 CVSS 风险等级 Published
CVE-2024-45849 MindsDB 安全漏洞 — mindsdb 8.8 High 2024-09-12
CVE-2024-45848 MindsDB 安全漏洞 — mindsdb 8.8 High 2024-09-12
CVE-2024-45847 MindsDB 安全漏洞 — mindsdb 8.8 High 2024-09-12
CVE-2024-45846 MindsDB 安全漏洞 — mindsdb 8.8 High 2024-09-12
CVE-2024-27321 Autolabel 安全漏洞 — autolabel 7.8 High 2024-09-12
CVE-2024-27320 Autolabel 安全漏洞 — autolabel 7.8 High 2024-09-12
CVE-2024-7954 SPIP 安全漏洞 — SPIP 9.8 Critical 2024-08-23
CVE-2024-43404 MEGABOT Discord Bot 安全漏洞 — MEGABOT 9.8 Critical 2024-08-20
CVE-2024-37901 XWiki Platform 安全漏洞 — xwiki-platform 10.0 Critical 2024-07-31
CVE-2024-36404 GeoTools 安全漏洞 — geotools 9.8 Critical 2024-07-02
CVE-2024-36401 GeoServer 安全漏洞 — geoserver 9.8 Critical 2024-07-01
CVE-2024-3562 多款产品安全漏洞 — Custom Field Suite 8.8 High 2024-06-20
CVE-2024-32649 Vyper 安全漏洞 — vyper 5.3 Medium 2024-04-25
CVE-2024-32647 Vyper 安全漏洞 — vyper 5.3 Medium 2024-04-25
CVE-2024-31996 XWiki Platform 安全漏洞 — xwiki-commons 10.0 Critical 2024-04-10
CVE-2024-31984 XWiki Platform 安全漏洞 — xwiki-platform 10.0 Critical 2024-04-10
CVE-2024-31982 XWiki Platform 安全漏洞 — xwiki-platform 10.0 Critical 2024-04-10
CVE-2024-31465 XWiki Platform 安全漏洞 — xwiki-platform 10.0 Critical 2024-04-10
CVE-2023-7245 OpenVPN Connect 安全漏洞 — OpenVPN Connect 7.8AI High AI 2024-02-20
CVE-2023-6735 Checkmk 安全漏洞 — Checkmk 8.8 High 2024-01-12
CVE-2024-21650 XWiki Platform 安全漏洞 — xwiki-platform 10.0 Critical 2024-01-08
CVE-2023-7224 OpenVPN Connect 安全漏洞 — OpenVPN Connect 7.8AI High AI 2024-01-08
CVE-2023-7101 Spreadsheet-ParseExcel 安全漏洞 — Spreadsheet::ParseExcel 7.8 - 2023-12-24
CVE-2023-50723 XWiki Platform 安全漏洞 — xwiki-platform 10.0 Critical 2023-12-15
CVE-2023-50721 XWiki Platform 安全漏洞 — xwiki-platform 10.0 Critical 2023-12-15
CVE-2023-48699 fastbots 安全漏洞 — fastbots 8.4 High 2023-11-21
CVE-2023-37909 XWiki Platform 代码注入漏洞 — xwiki-platform 10.0 Critical 2023-10-25
CVE-2023-40177 XWiki Platform 代码注入漏洞 — xwiki-platform 9.9 Critical 2023-08-23
CVE-2023-35152 XWiki Platform 代码注入漏洞 — xwiki-platform 10.0 Critical 2023-06-23
CVE-2023-35150 XWiki Platform 代码注入漏洞 — xwiki-platform 9.9 Critical 2023-06-23

CWE-95(动态执行代码中指令转义处理不恰当(Eval注入)) 是常见的弱点类别,本平台收录该类弱点关联的 174 条 CVE 漏洞。