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

目标: 1000 元 · 已筹: 1310

100%

CWE-20 输入验证不恰当 类漏洞列表 3591

CWE-20 输入验证不恰当 类弱点 3591 条 CVE 漏洞汇总,含 AI 中文分析。

CWE-20 属于输入验证不当漏洞,指软件接收数据时未正确校验其是否符合安全处理要求。攻击者常通过注入恶意或畸形数据,绕过逻辑检查以触发缓冲区溢出、命令执行等严重后果。开发者应实施严格的白名单验证,确保输入格式、类型及范围完全符合预期,并在所有数据入口点强制执行校验逻辑,从而从源头阻断潜在攻击。

MITRE CWE 官方描述
CWE:CWE-20 不适当的输入验证 (Improper Input Validation) 产品接收输入或数据,但未对其进行验证,或验证不正确,导致无法确保输入具备安全且正确地处理数据所需的属性。 输入验证 (Input validation) 是一种常用的技术,用于检查潜在的危险输入,以确保输入在代码内部处理时或与组件通信时是安全的。输入可以包括:原始数据 (raw data) - 字符串、数字、参数、文件内容等;元数据 (metadata) - 关于原始数据的信息,例如头部或大小。数据可以是简单的或结构化的。结构化数据 (Structured data) 可以由许多嵌套层组成,这些层由元数据和原始数据的组合构成,并包含其他简单或结构化数据。许多原始数据或元数据的属性在输入代码时都需要进行验证,例如: * 指定的数量,如大小、长度、频率、价格、速率、操作次数、时间等。 * 隐含或派生的数量,例如文件的实际大小而非指定的大小。 * 索引 (indexes)、偏移量 (offsets) 或指向更复杂数据结构的定位 (positions)。 * 符号键 (symbolic keys) 或其他元素,用于哈希表 (hash tables)、关联数组 (associative arrays) 等。 * 格式正确性 (well-formedness),即语法正确性 (syntactic correctness) - 符合预期的语法。 * 词法标记正确性 (lexical token correctness) - 符合被视为标记的规则。 * 指定的或派生的类型 (specified or derived type) - 输入的实际类型(或输入看似所属的类型)。 * 一致性 (consistency) - 在单个数据元素之间、原始数据与元数据之间、引用之间等。 * 符合特定领域的规则,例如业务逻辑 (business logic)。 * 等价性 (equivalence) - 确保等效输入得到相同的处理。 * 真实性 (authenticity)、所有权 (ownership) 或关于输入的其他证明 (attestations),例如用于证明数据来源的加密签名 (cryptographic signature)。 数据的隐含或派生属性通常必须由代码本身计算或推断。在推导属性时的错误可能被视为导致不适当输入验证 (Improper Input Validation) 的促成因素。
常见影响 (3)
AvailabilityDoS: Crash, Exit, or Restart, DoS: Resource Consumption (CPU), DoS: Resource Consumption (Memory)
An attacker could provide unexpected values and cause a program crash or arbitrary control of resource allocation, leading to excessive consumption of resources such as memory and CPU.
ConfidentialityRead Memory, Read Files or Directories
An attacker could read confidential data if they are able to control resource references.
Integrity, Confidentiality, AvailabilityModify Memory, Execute Unauthorized Code or Commands
An attacker could use malicious input to modify data or possibly alter control flow in unexpected ways, including arbitrary command execution.
缓解措施 (5)
Architecture and DesignConsider using language-theoretic security (LangSec) techniques that characterize inputs using a formal language and build "recognizers" for that language. This effectively requires parsing to be a distinct layer that effectively enforces a boundary between raw input and internal data representations, instead of allowing parser code to be scattered throughout the program, where it could be subjec…
Architecture and DesignUse an input validation framework such as Struts or the OWASP ESAPI Validation API. Note that using a framework does not automatically address all input validation problems; be mindful of weaknesses that could arise from misusing the framework itself (CWE-1173).
Architecture and Design, ImplementationUnderstand all the potential areas where untrusted inputs can enter the product, including but not limited to: parameters or arguments, cookies, anything read from the network, environment variables, reverse DNS lookups, query results, request headers, URL components, e-mail, files, filenames, databases, and any external systems that provide data to the application. Remember that such inputs may b…
ImplementationAssume 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…
Effectiveness: High
Architecture and DesignFor any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server. Even though clien…
代码示例 (2)
This example demonstrates a shopping interaction in which the user is free to specify the quantity of items to be purchased and a total is calculated.
... public static final double price = 20.00; int quantity = currentUser.getAttribute("quantity"); double total = price * quantity; chargeUser(total); ...
Bad · Java
This example asks the user for a height and width of an m X n game board with a maximum dimension of 100 squares.
... #define MAX_DIM 100 ... /* board dimensions */ int m,n, error; board_square_t *board; printf("Please specify the board height: \n"); error = scanf("%d", &m); if ( EOF == error ){ die("No integer passed: Die evil hacker!\n"); } printf("Please specify the board width: \n"); error = scanf("%d", &n); if ( EOF == error ){ die("No integer passed: Die evil hacker!\n"); } if ( m > MAX_DIM || n > MAX_DIM ) { die("Value too large: Die evil hacker!\n"); } board = (board_square_t*) malloc( m * n * sizeof(board_square_t)); ...
Bad · C
CVE ID标题CVSS风险等级Published
CVE-2022-3157 Rockwell Automation controllers 输入验证错误漏洞 — CompactLogix 5370 8.6 High2022-12-16
CVE-2021-28655 Apache Zeppelin 输入验证错误漏洞 — Apache Zeppelin 8.2 -2022-12-16
CVE-2022-4504 OpenEMR 输入验证错误漏洞 — openemr/openemr 7.5 -2022-12-15
CVE-2022-46363 Apache CXF 输入验证错误漏洞 — Apache CXF 9.1 -2022-12-13
CVE-2021-40365 Siemens SIMATIC Drive Controller 输入验证错误漏洞 — SIMATIC Drive Controller CPU 1504D TF 7.5 High2022-12-13
CVE-2022-43515 Zabbix 安全漏洞 — Frontend 5.3 Medium2022-12-12
CVE-2022-33876 Fortinet FortiADC 输入验证错误漏洞 — FortiADC 5.1 Medium2022-12-06
CVE-2022-38123 Secomea GateManager 输入验证错误漏洞 — GateManager 8.7 High2022-12-06
CVE-2021-37533 Apache Commons Net 输入验证错误漏洞 — Apache Commons Net 6.5 -2022-12-03
CVE-2022-1471 SnakeYAML 代码问题漏洞 — SnakeYAML 8.3 High2022-12-01
CVE-2022-40265 Mitsubishi Electric MELSEC iQ-R series 输入验证错误漏洞 — MELSEC iQ-R Series RJ71EN71 8.6 High2022-11-30
CVE-2022-4033 WordPress plugin Quiz and Survey Master 输入验证错误漏洞 — Quiz and Survey Master (QSM) – Easy Quiz and Survey Maker 5.3 Medium2022-11-29
CVE-2022-4032 WordPress plugin Quiz and Survey Master 跨站脚本漏洞 — Quiz and Survey Master (QSM) – Easy Quiz and Survey Maker 7.2 High2022-11-29
CVE-2022-41921 Discourse 输入验证错误漏洞 — discourse 3.5 Low2022-11-28
CVE-2022-39338 Nextcloud 输入验证错误漏洞 — security-advisories 3.5 Low2022-11-25
CVE-2022-40266 Mitsubishi Electric GOT2000 输入验证错误漏洞 — GOT2000 Series GT27 model 5.3 Medium2022-11-24
CVE-2022-41942 Sourcegraph 操作系统命令注入漏洞 — sourcegraph 7.9 High2022-11-22
CVE-2022-3388 ABB MicroSCADA Pro SYS600 输入验证错误漏洞 — MicroSCADA Pro SYS600 8.8 High2022-11-21
CVE-2022-45470 Apache Hama 输入验证错误漏洞 — Apache Hama 6.5 -2022-11-21
CVE-2022-24037 Karmasis Infraskope Agent 输入验证错误漏洞 — Infraskope SIEM+ 8.2 High2022-11-18
CVE-2022-31607 NVIDIA graphics driver 输入验证错误漏洞 — NVIDIA Cloud Gaming (guest driver), NVIDIA Cloud Gaming (Virtual GPU Manager) 7.8 High2022-11-18
CVE-2022-31616 NVIDIA GPU Display Driver 缓冲区错误漏洞 — NVIDIA Cloud Gaming (guest driver) 6.1 Medium2022-11-18
CVE-2022-41888 Google TensorFlow 输入验证错误漏洞 — tensorflow 4.8 Medium2022-11-18
CVE-2022-41891 Google TensorFlow 安全漏洞 — tensorflow 4.8 Medium2022-11-18
CVE-2022-41896 Google TensorFlow 输入验证错误漏洞 — tensorflow 4.8 Medium2022-11-18
CVE-2022-41898 Google TensorFlow 安全漏洞 — tensorflow 4.8 Medium2022-11-18
CVE-2022-41899 Google TensorFlow 输入验证错误漏洞 — tensorflow 4.8 Medium2022-11-18
CVE-2022-41901 Google TensorFlow 输入验证错误漏洞 — tensorflow 4.8 Medium2022-11-18
CVE-2022-41908 Google TensorFlow 输入验证错误漏洞 — tensorflow 4.8 Medium2022-11-18
CVE-2022-41909 Google TensorFlow 代码问题漏洞 — tensorflow 4.8 Medium2022-11-18

CWE-20(输入验证不恰当) 是常见的弱点类别,本平台收录该类弱点关联的 3591 条 CVE 漏洞。