CWE-566: Authorization Bypass Through User-Controlled SQL Primary Key

Variant Incomplete Simple

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 -

适用平台

编程语言
SQL (Often)
技术
Database Server (Often)

分类映射

分类名称 条目ID 条目名称 映射适配度
Software Fault Patterns SFP25 Tainted input to variable -
关键信息

CWE ID: CWE-566

抽象级别: Variant

结构: Simple

状态: Incomplete

相关弱点