CWE-566: Authorization Bypass Through User-Controlled SQL Primary Key
CWE版本: 4.18
更新日期: 2025-09-09
弱点描述
The product uses a database table that includes records that should not be accessible to an actor, but it executes a SQL statement with a primary key that can be controlled by that actor.
常见后果
影响范围: Confidentiality Integrity Access Control
技术影响: Read Application Data Modify Application Data Bypass Protection Mechanism
潜在缓解措施
阶段: Implementation
描述: Assume all input is malicious. Use a standard input validation mechanism to validate all input for length, type, syntax, and business rules before accepting the data. Use an "accept known good" validation strategy.
阶段: Implementation
描述: Use a parameterized query AND make sure that the accepted values conform to the business rules. Construct your SQL statement accordingly.
检测方法
方法: Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
有效性: High
引入模式
| 阶段 | 说明 |
|---|---|
| Architecture and Design | COMMISSION: This weakness refers to an incorrect design related to an architectural security tactic. |
| Implementation | - |
适用平台
编程语言
技术
分类映射
| 分类名称 | 条目ID | 条目名称 | 映射适配度 |
|---|---|---|---|
| Software Fault Patterns | SFP25 | Tainted input to variable | - |