CWE-522: Insufficiently Protected Credentials
CWE版本: 4.18
更新日期: 2025-09-09
弱点描述
The product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval.
常见后果
影响范围: Access Control
技术影响: Gain Privileges or Assume Identity
说明: An attacker could gain access to user accounts and access sensitive data used by the user accounts.
潜在缓解措施
阶段: Architecture and Design
描述: Use an appropriate security mechanism to protect the credentials.
阶段: Architecture and Design
描述: Make appropriate use of cryptography to protect the credentials.
阶段: Implementation
描述: Use industry standards to protect the credentials (e.g. LDAP, keystore, etc.).
检测方法
方法: 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
观察示例
参考: CVE-2022-30018
A messaging platform serializes all elements of User/Group objects, making private information available to adversaries
参考: CVE-2022-29959
Initialization file contains credentials that can be decoded using a "simple string transformation"
参考: CVE-2022-35411
Python-based RPC framework enables pickle functionality by default, allowing clients to unpickle untrusted data.
参考: CVE-2022-29519
Programmable Logic Controller (PLC) sends sensitive information in plaintext, including passwords and session tokens.
参考: CVE-2022-30312
Building Controller uses a protocol that transmits authentication credentials in plaintext.
参考: CVE-2022-31204
Programmable Logic Controller (PLC) sends password in plaintext.
参考: CVE-2022-30275
Remote Terminal Unit (RTU) uses a driver that relies on a password stored in plaintext.
参考: CVE-2007-0681
Web app allows remote attackers to change the passwords of arbitrary users without providing the original password, and possibly perform other unauthorized actions.
参考: CVE-2000-0944
Web application password change utility doesn't check the original password.
参考: CVE-2005-3435
product authentication succeeds if user-provided MD5 hash matches the hash in its database; this can be subjected to replay attacks.
参考: CVE-2005-0408
chain: product generates predictable MD5 hashes using a constant value combined with username, allowing authentication bypass.
引入模式
| 阶段 | 说明 |
|---|---|
| Architecture and Design | COMMISSION: This weakness refers to an incorrect design related to an architectural security tactic. |
| Implementation | - |
适用平台
编程语言
技术
分类映射
| 分类名称 | 条目ID | 条目名称 | 映射适配度 |
|---|---|---|---|
| OWASP Top Ten 2007 | A7 | Broken Authentication and Session Management | CWE More Specific |
| OWASP Top Ten 2004 | A3 | Broken Authentication and Session Management | CWE More Specific |
关键信息
CWE ID: CWE-522
抽象级别: Class
结构: Simple
状态: Incomplete