Unprotected Transport of Credentials

Incomplete Base
Structure: Simple
Description

This vulnerability occurs when a login page or authentication system transmits user credentials (like usernames and passwords) over a network without proper encryption, exposing them to interception.

Extended Description

When credentials travel from a user's browser to your server without encryption, they are sent in plain text. Attackers on the same network can easily intercept this data using simple packet sniffing tools, leading directly to account compromise. This is a fundamental failure to protect the most sensitive part of the user session during its most vulnerable moment—transit. To prevent this, you must enforce the use of strong, modern encryption for all authentication traffic. Always use HTTPS (TLS/SSL) for your entire login process and application, never falling back to HTTP for any requests containing credentials. Additionally, implement HTTP Strict Transport Security (HSTS) to instruct browsers to always use a secure connection, preventing accidental data leakage.

Common Consequences 1
Scope: Access Control

Impact: Gain Privileges or Assume Identity

Detection Methods 1
Automated Static AnalysisHigh
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.)
Potential Mitigations 1
Phase: OperationSystem Configuration
Enforce SSL use for the login page or any page used to transmit user credentials or other sensitive information. Even if the entire site does not use SSL, it MUST use SSL for login. Additionally, to help prevent phishing attacks, make sure that SSL serves the login page. SSL allows the user to verify the identity of the server to which they are connecting. If the SSL serves login page, the user can be certain they are talking to the proper end system. A phishing attack would typically redirect a user to a site that does not have a valid trusted server certificate issued from an authorized supplier.
Modes of Introduction
Architecture and Design
Related Attack Patterns
Taxonomy Mapping
  • Software Fault Patterns