Versions Compared

Key

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

...

Copying data to a buffer that is too small to hold the data results in a buffer overflow. Attackers can exploit this condition to execute arbitrary code.

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

CTR52-CPP

High

Likely

Medium

P18

L1

Automated Detection

Tool

Version

Checker

Description

Astrée

Include Page
Astrée_V
Astrée_V

invalid_pointer_dereference

CodeSonar
Include Page
CodeSonar_V
CodeSonar_V

BADFUNC.BO.*
LANG.MEM.BO
LANG.MEM.TBA

A collection of warning classes that report uses of library functions prone to internal buffer overflows.
Buffer Overrun
Tainted Buffer Access

Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

DF3526, DF3527, DF3528, DF3529, DF3530, DF3531, DF3532, DF3533, DF3534


Parasoft C/C++test
Include Page
cplusplus:
Parasoft_V
cplusplus:
Parasoft_V
BD-PB-OVERF{RD, WR, FMT, NZT} 
CERT_CPP-CTR52-a
Do not pass empty container iterators to std algorithms as destinations
Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C++: CTR52-CPPChecks for library functions overflowing sequence container (rule partially covered).

Related Vulnerabilities

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

Related Guidelines

Bibliography

[ISO/IEC 14882-2014]

Subclause 25.3, "Mutating Sequence Operations"

[ISO/IEC TR 24772-2013]Buffer Overflow in Heap [XYB]
Buffer Overflow in Stack [XYW]
Unchecked Array Indexing [XYZ]
[Meyers 2001]Item 30, "Make Sure Destination Ranges Are Big Enough"

...


...