目标达成 感谢每一位支持者 — 我们达成了 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-1250 OTRS 代码注入漏洞 — OTRS 7.4 High2023-03-20
CVE-2023-28100 Flatpak 输入验证错误漏洞 — flatpak 10.0 Critical2023-03-16
CVE-2023-24571 Dell BIOS 输入验证错误漏洞 — Embedded Box PC 3000 , CPG BIOS 7.5 High2023-03-16
CVE-2023-21453 SAMSUNG Mobile Devices 输入验证错误漏洞 — Samsung Mobile Devices 6.0 Medium2023-03-16
CVE-2023-28113 russh 数据伪造问题漏洞 — russh 5.9 Medium2023-03-16
CVE-2023-28099 OpenSIPS 输入验证错误漏洞 — opensips 5.9 Medium2023-03-15
CVE-2023-28098 OpenSIPS 输入验证错误漏洞 — opensips 5.9 Medium2023-03-15
CVE-2023-28095 OpenSIPS 输入验证错误漏洞 — opensips 7.5 High2023-03-15
CVE-2023-27601 OpenSIPS 输入验证错误漏洞 — opensips 7.5 High2023-03-15
CVE-2023-27600 OpenSIPS 输入验证错误漏洞 — opensips 7.5 High2023-03-15
CVE-2023-27599 OpenSIPS 输入验证错误漏洞 — opensips 7.5 High2023-03-15
CVE-2023-27597 OpenSIPS 输入验证错误漏洞 — opensips 7.5 High2023-03-15
CVE-2023-0100 Eclipse BIRT 安全漏洞 — Eclipse BIRT (Business Intelligence Reporting Tool) 9.1 -2023-03-15
CVE-2023-24866 Microsoft PostScript Printer Driver 安全漏洞 — Windows 10 Version 1809 6.5 Medium2023-03-14
CVE-2023-24865 Microsoft PostScript Printer Driver 安全漏洞 — Windows 10 Version 1809 6.5 Medium2023-03-14
CVE-2023-23419 Microsoft Windows Resilient File System (ReFS) 安全漏洞 — Windows 11 version 22H2 7.8 High2023-03-14
CVE-2023-23416 Microsoft Windows Cryptographic Services 安全漏洞 — Windows 10 Version 1809 7.8 High2023-03-14
CVE-2023-23409 Microsoft Client Server Run-time Subsystem (CSRSS) 安全漏洞 — Windows 10 Version 1809 5.5 Medium2023-03-14
CVE-2023-24856 Microsoft PostScript Printer Driver 安全漏洞 — Windows 10 Version 1809 7.5 High2023-03-14
CVE-2023-23397 Microsoft Outlook 安全漏洞 — Microsoft Office LTSC 2021 9.8 Critical2023-03-14
CVE-2023-25947 OpenHarmony 代码问题漏洞 — OpenHarmony 6.2 Medium2023-03-10
CVE-2023-24465 OpenHarmony 代码问题漏洞 — OpenHarmony 5.5 Medium2023-03-10
CVE-2023-22301 OpenHarmony 安全漏洞 — OpenHarmony 6.5 Medium2023-03-10
CVE-2021-36402 Moodle 输入验证错误漏洞 — Moodle 4.3 -2023-03-06
CVE-2022-4904 c-ares 输入验证错误漏洞 — c-ares 8.6 -2023-03-06
CVE-2022-3294 Kubernetes 安全漏洞 — Kubernetes 6.6 Medium2023-03-01
CVE-2023-26281 IBM WebSphere Application Server 输入验证错误漏洞 — HTTP Server 5.9 Medium2023-02-28
CVE-2022-40237 IBM MQ 输入验证错误漏洞 — MQ for HPE NonStop 6.5 Medium2023-02-27
CVE-2023-25696 Apache Airflow 输入验证错误漏洞 — Apache Airflow Hive Provider 7.5 -2023-02-24
CVE-2023-25693 Apache Airflow 输入验证错误漏洞 — Apache Airflow Sqoop Provider 9.1 -2023-02-24

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