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

目标: 1000 元 · 已筹: 1310

100%

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

CWE-20 输入验证不恰当 类弱点 3590 条 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-2023-36731 Microsoft Win32K 安全漏洞 — Windows 10 Version 1809 7.8 High2023-10-10
CVE-2023-35349 Microsoft Message Queuing 安全漏洞 — Windows 10 Version 1809 9.8 Critical2023-10-10
CVE-2023-32485 Dell SmartFabric Storage Software 输入验证错误漏洞 — Dell SmartFabric Storage Software 9.8 Critical2023-10-05
CVE-2023-43073 Dell SmartFabric Storage Software 输入验证错误漏洞 — Dell SmartFabric Storage Software 4.3 Medium2023-10-05
CVE-2023-43799 Altair 输入验证错误漏洞 — altair 5.0 Medium2023-10-04
CVE-2023-42449 Hydra 输入验证错误漏洞 — hydra 8.1 High2023-10-04
CVE-2023-42448 Hydra 输入验证错误漏洞 — hydra 8.1 High2023-10-04
CVE-2023-38701 Hydra 输入验证错误漏洞 — hydra 9.1 Critical2023-10-04
CVE-2023-39191 Linux kernel 安全漏洞 — Red Hat Enterprise Linux 9 8.2 High2023-10-04
CVE-2023-4586 Hot Rod 信任管理问题漏洞 — Red Hat Data Grid 8.4.6 7.4 High2023-10-04
CVE-2023-42508 JFrog Artifactory 输入验证错误漏洞 — Artifactory 6.5 Medium2023-10-03
CVE-2023-24853 Qualcomm 芯片 缓冲区错误漏洞 — Snapdragon 8.4 High2023-10-03
CVE-2023-22382 Qualcomm 芯片 安全漏洞 — Snapdragon 7.4 High2023-10-03
CVE-2023-3770 Ingeteam Ingepac Da Au 输入验证错误漏洞 — INGEPAC DA3451 5.3 Medium2023-10-02
CVE-2023-3769 Ingeteam Ingepac Da Au 输入验证错误漏洞 — INGEPAC FC5066 8.6 High2023-10-02
CVE-2023-3768 Ingeteam Ingepac Da Au 输入验证错误漏洞 — INGEPAC DA3451 8.6 High2023-10-02
CVE-2023-41303 Huawei HarmonyOS 命令注入漏洞 — HarmonyOS 9.1 -2023-09-25
CVE-2022-48605 Huawei HarmonyOS 安全漏洞 — HarmonyOS 9.8 -2023-09-25
CVE-2023-41300 Huawei HarmonyOS 安全漏洞 — HarmonyOS 7.5 -2023-09-25
CVE-2023-42798 AutomataCI 输入验证错误漏洞 — AutomataCI 8.2 High2023-09-22
CVE-2023-42805 Quinn 输入验证错误漏洞 — quinn 7.5 High2023-09-21
CVE-2023-4753 OpenHarmony 安全漏洞 — OpenHarmony 3.9 Low2023-09-21
CVE-2023-5104 NocoDB 输入验证错误漏洞 — nocodb/nocodb 9.8 -2023-09-21
CVE-2023-31013 NVIDIA DGX 输入验证错误漏洞 — DGX H100 BMC 6.1 Medium2023-09-20
CVE-2023-31012 NVIDIA DGX 输入验证错误漏洞 — DGX H100 BMC 6.1 Medium2023-09-20
CVE-2023-31011 NVIDIA DGX 输入验证错误漏洞 — DGX H100 BMC 5.2 Medium2023-09-20
CVE-2023-31010 NVIDIA DGX 输入验证错误漏洞 — DGX H100 BMC 6.8 Medium2023-09-20
CVE-2023-31009 NVIDIA DGX 输入验证错误漏洞 — DGX H100 BMC 8.3 High2023-09-20
CVE-2023-31008 NVIDIA DGX 输入验证错误漏洞 — DGX H100 BMC 7.3 High2023-09-20
CVE-2023-25534 NVIDIA DGX 输入验证错误漏洞 — DGX H100 BMC 5.7 Medium2023-09-20

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