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

目标: 1000 元 · 已筹: 1325

100%

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

CWE-20 输入验证不恰当 类弱点 3599 条 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-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
CVE-2022-33715 SAMSUNG Mobile devices 安全漏洞 — Samsung Mobile Devices 5.3 Medium2022-08-05
CVE-2022-33729 SAMSUNG Mobile devices 安全漏洞 — Samsung Mobile Devices 5.9 Medium2022-08-05
CVE-2022-34851 F5 BIG-IP 输入验证错误漏洞 — BIG-IP 4.3 Medium2022-08-04
CVE-2022-34844 F5 BIG-IP 输入验证错误漏洞 — BIG-IP 5.9 Medium2022-08-04
CVE-2022-30535 F5 BIG-IP 输入验证错误漏洞 — NGINX Ingress Controller 6.5 Medium2022-08-04
CVE-2022-35924 ZEIT Next.js和NextAuth.js 输入验证错误漏洞 — next-auth 9.1 Critical2022-08-02
CVE-2022-37010 JetBrains IntelliJ IDEA 输入验证错误漏洞 — IntelliJ IDEA 3.6 Low2022-07-28
CVE-2022-31170 OpenZeppelin 输入验证错误漏洞 — openzeppelin-contracts 7.5 High2022-07-21
CVE-2022-31172 OpenZeppelin 数据伪造问题漏洞 — openzeppelin-contracts 7.5 High2022-07-21
CVE-2022-22214 Juniper Networks Junos OS 输入验证错误漏洞 — Junos OS 6.5 Medium2022-07-20
CVE-2022-34758 Schneider Electric Easergy P5 和 P3 输入验证错误漏洞 — Easergy P5 5.1 Medium2022-07-13
CVE-2022-35171 SAP 3D Visual Enterprise Viewer 输入验证错误漏洞 — SAP 3D Visual Enterprise Viewer 5.5 -2022-07-12
CVE-2022-32248 SAP S/4HANA 输入验证错误漏洞 — SAP S/4HANA 5.3 -2022-07-12
CVE-2022-2385 aws-iam-authenticator 安全漏洞 — aws-iam-authenticator 8.1 High2022-07-12
CVE-2021-44221 Siemens SIMATIC eaSie Core Package 输入验证错误漏洞 — SIMATIC eaSie Core Package 7.5 -2022-07-12
CVE-2020-29507 Dell BSAFE Micro Edition Suite和Dell BSAFE 输入验证错误漏洞 — Dell BSAFE Crypto-C Micro Edition 5.3 Medium2022-07-11
CVE-2022-33710 SAMSUNG Galaxy Store 输入验证错误漏洞 — Galaxy Store 7.8 -2022-07-11
CVE-2022-33709 Samsung Galaxy Store 输入验证错误漏洞 — Galaxy Store 7.8 -2022-07-11
CVE-2022-33708 Samsung Galaxy Store 安全漏洞 — Galaxy Store 7.8 -2022-07-11
CVE-2022-33704 SAMSUNG Mobile devices KnoxSDK 输入验证错误漏洞 — Samsung Mobile Devices 8.5 High2022-07-11
CVE-2022-33703 SAMSUNG Mobile devices 输入验证错误漏洞 — Samsung Mobile Devices 8.5 High2022-07-11
CVE-2022-33690 SAMSUNG Mobile devices 路径遍历漏洞 — Samsung Mobile Devices 4.0 Medium2022-07-11
CVE-2022-30756 Samsung mobile devices 安全漏洞 — Samsung Mobile Devices 8.5 High2022-07-11
CVE-2022-30754 SAMSUNG Mobile devices 安全漏洞 — Samsung Mobile Devices 8.5 High2022-07-11
CVE-2022-2047 Eclipse Jetty 输入验证错误漏洞 — Eclipse Jetty 2.7 Low2022-07-07

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