Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Using the std::rand() function could lead to predictable random numbers.

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

MSC50-CPP

Medium

Unlikely

Low

P6

L2

Automated Detection

Tool

Version

Checker

Description

Astrée

Include Page
Astrée_V
Astrée_V

bad-function (AUTOSAR.26.5.1A)
Fully checked
Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC++-MSC50
Clang
Include Page
Clang_40_V
Clang_40_V
cert-msc50-cppChecked by clang-tidy
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V
BADFUNC.RANDOM.RANDUse of rand
Compass/ROSE

 

 

 




ECLAIR

Include Page
ECLAIR_V
ECLAIR_V

CC2.MSC30

Fully implemented

Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

C++5028
Klocwork
Include Page
Klocwork_V
Klocwork_V
CERT.MSC.STD_RAND_CALL
LDRA tool suite
Include Page
LDRA_V
LDRA_V

44 S

Enhanced Enforcement

Parasoft C/C++test
9.5SECURITY-02 PRQA QA-C++ Include PagePRQA QA-C++_V
Include Page
Parasoft_V
Parasoft_V
CERT_CPP-MSC50-a

Do not use the rand() function for generating pseudorandom numbers

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C++: MSC50-CPPChecks for use of vulnerable pseudo-random number generator (rule partially covered)
RuleChecker
Include Page
RuleChecker_V
RuleChecker_V
bad-function (AUTOSAR.26.5.1A)
Fully checked
PRQA QA-C++_VWarncall -wc randFully implemented

Related Vulnerabilities

Search for vulnerabilities resulting from the violation of this rule on the CERT website.

Related Guidelines

Bibliography

[ISO/IEC 9899:2011]Subclause 7.22.2, "Pseudo-random Sequence Generation Functions"
[ISO/IEC 14882-2014]Subclause 26.5, "Random Number Generation"

...


...

Image Modified Image Modified Image Modified