CWE-564: SQL Injection: Hibernate

Variant Incomplete Simple

CWE版本: 4.18

更新日期: 2025-09-09

弱点描述

Using Hibernate to execute a dynamic SQL statement built with user-controlled input can allow an attacker to modify the statement's meaning or to execute arbitrary SQL commands.

常见后果

影响范围: Confidentiality Integrity

技术影响: Read Application Data Modify Application Data

潜在缓解措施

阶段: Requirements

描述: A non-SQL style database which is not subject to this flaw may be chosen.

阶段: Architecture and Design

描述: Follow the principle of least privilege when creating user accounts to a SQL database. Users should only have the minimum privileges necessary to use their account. If the requirements of the system indicate that a user can read and modify their own data, then limit their privileges so they cannot read/write others' data.

阶段: Architecture and Design

描述: For 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.

阶段: Implementation

描述: Implement SQL strings using prepared statements that bind variables. Prepared statements that do not bind variables can be vulnerable to attack.

阶段: Implementation

描述: Use vigorous allowlist style checking on any user input that may be used in a SQL command. Rather than escape meta-characters, it is safest to disallow them entirely. Reason: Later use of data that have been entered in the database may neglect to escape meta-characters before use. Narrowly define the set of safe characters based on the expected value of the parameter in the request.

引入模式

阶段 说明
Architecture and Design -
Implementation -

适用平台

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

分类映射

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

CWE ID: CWE-564

抽象级别: Variant

结构: Simple

状态: Incomplete

相关弱点
相关攻击模式
CAPEC-109