C and C++ Binaries


BADFUNC.RANDOM.RAND48 : Use of rand48 Function

Summary

A use of a function from the rand48 family (see full list below). These functions do not provide sufficient randomness for secure applications.

Properties

Class Name Use of rand48 Function
Significance security
Mnemonic BADFUNC.RANDOM.RAND48
Categories
CWE CWE:327 Use of a Broken or Risky Cryptographic Algorithm
  CWE:332 Insufficient Entropy in PRNG
  CWE:334 Small Space of Random Values
  CWE:338 Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
  CWE:676 Use of Potentially Dangerous Function
DISA-6r1 DISA-6r1:V-222397 The application must implement cryptographic mechanisms to protect the integrity of remote access sessions.
  DISA-6r1:V-222570 The application must utilize FIPS-validated cryptographic modules when signing application components.
  DISA-6r1:V-222571 The application must utilize FIPS-validated cryptographic modules when generating cryptographic hashes.
  DISA-6r1:V-222572 The application must utilize FIPS-validated cryptographic modules when protecting unclassified information that requires cryptographic protection.
  DISA-6r1:V-222583 The application must use the Federal Information Processing Standard (FIPS) 140-2-validated cryptographic modules and random number generator if the application implements encryption, key exchange, digital signature, and hash functionality.
DISA-5r3 DISA-5r3:V-69259 The application must implement cryptographic mechanisms to protect the integrity of remote access sessions.
  DISA-5r3:V-70191 The application must utilize FIPS-validated cryptographic modules when signing application components.
  DISA-5r3:V-70193 The application must utilize FIPS-validated cryptographic modules when generating cryptographic hashes.
  DISA-5r3:V-70195 The application must utilize FIPS-validated cryptographic modules when protecting unclassified information that requires cryptographic protection.
  DISA-5r3:V-70217 The application must use the Federal Information Processing Standard (FIPS) 140-2-validated cryptographic modules and random number generator if the application implements encryption, key exchange, digital signature, and hash functionality.
DISA-4r3 DISA-4r3:V-69259 The application must implement cryptographic mechanisms to protect the integrity of remote access sessions.
  DISA-4r3:V-70191 The application must utilize FIPS-validated cryptographic modules when signing application components.
  DISA-4r3:V-70193 The application must utilize FIPS-validated cryptographic modules when generating cryptographic hashes.
  DISA-4r3:V-70195 The application must utilize FIPS-validated cryptographic modules when protecting unclassified information that requires cryptographic protection.
  DISA-4r3:V-70217 The application must use the Federal Information Processing Standard (FIPS) 140-2-validated cryptographic modules and random number generator if the application implements encryption, key exchange, digital signature, and hash functionality.
DISA-3r10 DISA-3r10:V-6137 The designer will ensure the application uses the Federal Information Processing Standard (FIPS) 140-2 validated cryptographic modules and random number generator if the application implements encryption, key exchange, digital signature, and hash functionality.
BSI BSI:MetaRule  
OWASP-2017 OWASP-2017:A9 Using components with known vulnerabilities
OWASP-2021 OWASP-2021:A6 Vulnerable and outdated components
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Use of rand48 Function"
To enable all BSI-related classes, including all BSI-specific BADFUNC classes, use the bsi configuration preset.

Triggering Functions

Resolution

Use a cryptographically secure random generator, and ensure that it is seeded with a truly random value.

Relevant Configuration File Parameters

This class is implemented using a BAD_FUNCTION_* rule set in the general template configuration file.

The following configuration file parameters affect checks for this warning class.