CWE-316: Cleartext Storage of Sensitive Information in Memory
Weakness ID: 316
The application stores sensitive information in cleartext in memory.
The sensitive memory might be saved to disk, stored in a core dump, or remain uncleared if the application crashes, or if the programmer does not properly clear the memory before freeing it.
It could be argued that such problems are usually only exploitable by those with administrator privileges. However, swapping could cause the memory to be written to disk and leave it accessible to physical attack afterwards. Core dump files might have insecurepermissions or be stored in archive files that are accessible to untrusted people. Or, uncleared sensitive memory might be inadvertently exposed to attackers due to another weakness.
Different people use "cleartext" and "plaintext" to mean the same thing:
the lack of encryption. However, within cryptography, these have more
precise meanings. Plaintext is the information just before it is fed into a
cryptographic algorithm, including already-encrypted text. Cleartext is any
information that is unencrypted, although it might be in an encoded form
that is not easily human-readable (such as base64 encoding).