Function is not reentrant or uses a risky encryption algorithm
This defect occurs when a standard encryption function uses a broken or weak cryptographic
algorithm. For example, crypt is not reentrant and is based on the
risky Data Encryption Standard (DES).
The use of a broken, weak, or nonstandard algorithm can expose sensitive information to an attacker. A determined hacker can access the protected data using various techniques.
If the weak function is nonreentrant, when you use the function in concurrent programs, there is an additional race condition risk.
Avoid functions that use these encryption algorithms. Instead, use a reentrant function that uses a stronger encryption algorithm.
Note
Some implementations of crypt support additional,
possibly more secure, encryption algorithms.
| Group: Security |
| Language: C | C++ |
| Default: Off |
Command-Line Syntax: UNSAFE_STD_CRYPT |
| Impact: Medium |
| CWE ID: 327, 522, 663 |
Deterministic random output from constant seed | Find defects (-checkers) | Predictable random output from predictable seed | Vulnerable pseudo-random number generator