CWE-522: Insufficiently Protected Credentials

Class Incomplete Simple

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 -

适用平台

编程语言
Not Language-Specific (Undetermined)
技术
ICS/OT (Undetermined)

分类映射

分类名称 条目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

相关弱点
相关攻击模式
CAPEC-102 CAPEC-474 CAPEC-50 CAPEC-509 CAPEC-551 CAPEC-555 CAPEC-560 CAPEC-561 CAPEC-600 CAPEC-644 CAPEC-645 CAPEC-652 CAPEC-653