BF Memory Corruption/Disclosure (_MEM) Class Type
Irena Bojanova, PI & Lead, NIST Bugs Framework (BF), 2014 – ~~~~

Each memory related bug or weakness involves one memory operation. Each operation is over a region of memory or over the address needed to reach it. That memory is used for storing data and has an important property: it is finite. It has boundaries and it has size. We call this piece of memory, with a well-defined size, an object. It is used to store a primitive data or a data structure. The memory address should be held by at least one pointer or determined as an offset on the stack, otherwise the object will be unreachable. The object and the pointer are the operands of the memory operation.

Memory bugs could be introduced at any of the phases of an object’s lifecycle: address formation, allocation, use, and deallocation. The BF Memory Bugs Model helps identify where in these phases bugs could occur:

The phases correspond to the BF memory bugs classes: Memory Addressing Bugs (MAD) , Memory Management Bugs (MMN) – covers both the Memory Allocation (MAL) and the Memory Deallocation (MDL phases), and Memory Use Bugs (MUS) .

For navigation to the _MEM model and classes use the BF>_MEM menu on the left.