774
CWE-315: Cleartext Storage of Sensitive Information in a Cookie
Weakness ID : 315
Structure : Simple
Abstraction : Variant
Description
The product stores sensitive information in cleartext in a cookie.
Extended Description
Attackers can use widely-available tools to view the cookie and read the sensitive information.
Even if the information is encoded in a way that is not human-readable, certain techniques could
determine which encoding is being used, then decode the information.
Relationships
The table(s) below shows the weaknesses and high level categories that are related to this
weakness. These relationships are defined as ChildOf, ParentOf, MemberOr and give insight to
similar items that may exist at higher and lower levels of abstraction. In addition, relationships such
as PeerOf and CanAlsoBe are defined to show similar weaknesses that may want to be explored.
Relevant to the view "Research Concepts" (CWE-1000)
Nature Type ID Name Page
ChildOf 312 Cleartext Storage of Sensitive Information 764
Relevant to the view "Architectural Concepts" (CWE-1008)
Nature Type ID Name Page
MemberOf 1013 Encrypt Data 2428
Applicable Platforms
Language : Not Language-Specific (Prevalence = Undetermined)
Common Consequences
Scope Impact Likelihood
Confidentiality Read Application Data
Detection Methods
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.)
Effectiveness = High
Demonstrative Examples
Example 1:
The following code excerpt stores a plaintext user account ID in a browser cookie.
Example Language: Java (Bad)
response.addCookie( new Cookie("userAccountID", acctID);
Because the account ID is in plaintext, the user's account information is exposed if their computer
is compromised by an attacker.
CWE Version 4.14
CWE-316: Cleartext Storage of Sensitive Information in Memory
CWE-316: Cleartext Storage of Sensitive Information in Memory