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

目标: 1000 元 · 已筹: 1325

100%

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

CWE-20 输入验证不恰当 类弱点 3594 条 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-36854 SAMSUNG Mobile devices 缓冲区错误漏洞 — Samsung Mobile Devices 4.0 Medium2022-09-09
CVE-2022-36859 SAMSUNG Mobile devices 跨站脚本漏洞 — SmartTagPlugin 5.7 Medium2022-09-09
CVE-2022-3169 RISC-V 输入验证错误漏洞 — Kernel 5.5 -2022-09-09
CVE-2022-36087 OAuthLib 输入验证错误漏洞 — oauthlib 5.7 Medium2022-09-09
CVE-2022-36082 mangadex-downloader 输入验证错误漏洞 — mangadex-downloader 5.3 Medium2022-09-07
CVE-2022-36058 Elrond go 输入验证错误漏洞 — elrond-go 7.5 High2022-09-06
CVE-2022-36032 ReactPHP HTTP 安全漏洞 — http 5.3 Medium2022-09-06
CVE-2021-3754 Red Hat Keycloak 安全漏洞 — keycloak 5.3 -2022-08-26
CVE-2021-4041 Ansible-Runner 操作系统命令注入漏洞 — ansible-runner 7.8 -2022-08-24
CVE-2021-4125 Red Hat OpenShift 代码问题漏洞 — kube-reporting/hive 8.1 -2022-08-24
CVE-2021-4204 Linux kernel 缓冲区错误漏洞 — kernel 6.0 -2022-08-24
CVE-2020-35509 Red Hat Keycloak 信任管理问题漏洞 — keycloak 5.9 -2022-08-23
CVE-2021-3442 Red Hat 3scale API Management Platform 输入验证错误漏洞 — Red Hat OpenShift API Management. 5.4 -2022-08-22
CVE-2022-34916 Apache Flume 输入验证错误漏洞 — Apache Flume 9.8 -2022-08-21
CVE-2022-36023 Hyperledger Fabric 输入验证错误漏洞 — fabric 7.0 High2022-08-18
CVE-2022-2868 LibTIFF 缓冲区错误漏洞 — libtiff 5.5 -2022-08-17
CVE-2020-1756 Moodle 输入验证错误漏洞 — Moodle 6.7 -2022-08-16
CVE-2022-24952 Eternal Terminal 输入验证错误漏洞 — Eternal Terminal 6.5 -2022-08-16
CVE-2021-22289 B&R Automation Studio 输入验证错误漏洞 — Automation Studio 8.3 High2022-08-11
CVE-2022-28755 Zoom Client 输入验证错误漏洞 — Zoom Client for Meetings (for Android, iOS, Linux, macOS, and Windows) 9.6 Critical2022-08-11
CVE-2022-35666 Adobe Acrobat Reader 输入验证错误漏洞 — Acrobat Reader 7.8 High2022-08-11
CVE-2022-35668 Adobe Acrobat Reader输入验证错误漏洞 — Acrobat Reader 5.5 Medium2022-08-11
CVE-2022-31779 Apache Traffic Server 输入验证错误漏洞 — Apache Traffic Server 7.5 -2022-08-10
CVE-2021-37150 Apache Traffic Server 输入验证错误漏洞 — Apache Traffic Server 7.5 -2022-08-10
CVE-2022-28129 Apache Traffic Server 输入验证错误漏洞 — Apache Traffic Server 7.5 -2022-08-10
CVE-2022-31778 Apache Traffic Server 输入验证错误漏洞 — Apache Traffic Server 7.5 -2022-08-10
CVE-2022-31780 Apache Traffic Server 输入验证错误漏洞 — Apache Traffic Server 7.5 -2022-08-10
CVE-2022-36125 Apache Avro 输入验证错误漏洞 — Apache Avro 7.5 -2022-08-09
CVE-2022-35724 Apache Avro 安全漏洞 — Apache Avro 7.5 -2022-08-09
CVE-2022-33719 SAMSUNG Mobile devices 输入验证错误漏洞 — Samsung Mobile Devices 8.6 High2022-08-05

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