970 indexed

CWECWE weaknesses

970 MITRE CWE entries — software weakness types that underlie vulnerabilities (CVE→CWE link). Filter by category. Authored by Adam Lundqvist.

47 in Memory · 970 total

IDTitleSummary
CWE-1098Data Element containing Pointer Item without Proper Copy Control ElementThe code contains a data element with a pointer that does not have an associated copy or constructor method.
CWE-119Improper Restriction of Operations within the Bounds of a Memory BufferThe product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in…
CWE-120Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')The product copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer.
CWE-121Stack-based Buffer OverflowA stack-based buffer overflow condition is a condition where the buffer being overwritten is allocated on the stack (i.e., is a local variable or, rarely, a pa…
CWE-122Heap-based Buffer OverflowA heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the…
CWE-124Buffer Underwrite ('Buffer Underflow')The product writes to a buffer using an index or pointer that references a memory location prior to the beginning of the buffer.
CWE-125Out-of-bounds ReadThe product reads data past the end, or before the beginning, of the intended buffer.
CWE-1257Improper Access Control Applied to Mirrored or Aliased Memory RegionsAliased or mirrored memory regions in hardware designs may have inconsistent read/write permissions enforced by the hardware. A possible result is that an untr…
CWE-126Buffer Over-readThe product reads from a buffer using buffer access mechanisms such as indexes or pointers that reference memory locations after the targeted buffer.
CWE-1260Improper Handling of Overlap Between Protected Memory RangesThe product allows address regions to overlap, which can result in the bypassing of intended memory protection.
CWE-127Buffer Under-readThe product reads from a buffer using buffer access mechanisms such as indexes or pointers that reference memory locations prior to the targeted buffer.
CWE-1274Improper Access Control for Volatile Memory Containing Boot CodeThe product conducts a secure-boot process that transfers bootloader code from Non-Volatile Memory (NVM) into Volatile Memory (VM), but it does not have suffic…
CWE-1282Assumed-Immutable Data is Stored in Writable MemoryImmutable data, such as a first-stage bootloader, device identifiers, and "write-once" configuration settings are stored in writable memory that can be re-prog…
CWE-131Incorrect Calculation of Buffer SizeThe product does not correctly calculate the size to be used when allocating a buffer, which could lead to a buffer overflow.
CWE-1325Improperly Controlled Sequential Memory AllocationThe product manages a group of objects or resources and performs a separate memory allocation for each object, but it does not properly limit the total amount …
CWE-1330Remanent Data Readable after Memory EraseConfidential information stored in memory circuits is readable or recoverable after being cleared or erased.
CWE-14Compiler Removal of Code to Clear BuffersSensitive memory is cleared according to the source code, but compiler optimizations leave the memory untouched when it is not read from again, aka "dead store…
CWE-188Reliance on Data/Memory LayoutThe product makes invalid assumptions about how protocol data or memory is organized at a lower level, resulting in unintended program behavior.
CWE-190Integer Overflow or WraparoundThe product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will al…
CWE-244Improper Clearing of Heap Memory Before Release ('Heap Inspection')Using realloc() to resize buffers that store sensitive information can leave the sensitive information exposed to attack, because it is not removed from memory…
CWE-395Use of NullPointerException Catch to Detect NULL Pointer DereferenceCatching NullPointerException should not be used as an alternative to programmatic checks to prevent dereferencing a null pointer.
CWE-401Missing Release of Memory after Effective LifetimeThe product does not sufficiently track and release allocated memory after it has been used, making the memory unavailable for reallocation and reuse.
CWE-416Use After FreeThe product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while…
CWE-466Return of Pointer Value Outside of Expected RangeA function can return a pointer to memory that is outside of the buffer that the pointer is expected to reference.
CWE-467Use of sizeof() on a Pointer TypeThe code calls sizeof() on a pointer type, which can be an incorrect calculation if the programmer intended to determine the size of the data that is being poi…
CWE-468Incorrect Pointer ScalingIn C and C++, one may often accidentally refer to the wrong memory due to the semantics of when math operations are implicitly scaled.
CWE-469Use of Pointer Subtraction to Determine SizeThe product subtracts one pointer from another in order to determine size, but this calculation can be incorrect if the pointers do not exist in the same memor…
CWE-476NULL Pointer DereferenceThe product dereferences a pointer that it expects to be valid but is NULL.
CWE-587Assignment of a Fixed Address to a PointerThe product sets a pointer to a specific address other than NULL or 0. Using a fixed address is not portable, because that address will probably not be valid …
CWE-588Attempt to Access Child of a Non-structure PointerCasting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption.
CWE-590Free of Memory not on the HeapThe product calls free() on a pointer to memory that was not allocated using associated heap allocation functions such as malloc(), calloc(), or realloc(). Wh…
CWE-680Integer Overflow to Buffer OverflowThe product performs a calculation to determine how much memory to allocate, but an integer overflow can occur that causes less memory to be allocated than exp…
CWE-690Unchecked Return Value to NULL Pointer DereferenceThe product does not check for an error after calling a function that can return with a NULL pointer if the function fails, which leads to a resultant NULL poi…
CWE-761Free of Pointer not at Start of BufferThe product calls free() on a pointer to a memory resource that was allocated on the heap, but the pointer is not at the start of the buffer.
CWE-762Mismatched Memory Management RoutinesThe product attempts to return a memory resource to the system, but it calls a release function that is not compatible with the function that was originally us…
CWE-763Release of Invalid Pointer or ReferenceThe product attempts to return a memory resource to the system, but it calls the wrong release function or calls the appropriate release function incorrectly.
CWE-785Use of Path Manipulation Function without Maximum-sized BufferThe product invokes a function for normalizing paths or file names, but it provides an output buffer that is smaller than the maximum possible size, such as PA…
CWE-786Access of Memory Location Before Start of BufferThe product reads or writes to a buffer using an index or pointer that references a memory location prior to the beginning of the buffer. This typically occur…
CWE-787Out-of-bounds WriteThe product writes data past the end, or before the beginning, of the intended buffer.
CWE-788Access of Memory Location After End of BufferThe product reads or writes to a buffer using an index or pointer that references a memory location after the end of the buffer. This typically occurs when a …
CWE-789Memory Allocation with Excessive Size ValueThe product allocates memory based on an untrusted, large size value, but it does not ensure that the size is within expected limits, allowing arbitrary amount…
CWE-805Buffer Access with Incorrect Length ValueThe product uses a sequential operation to read or write a buffer, but it uses an incorrect length value that causes it to access memory that is outside of the…
CWE-806Buffer Access Using Size of Source BufferThe product uses the size of a source buffer when reading from or writing to a destination buffer, which may cause it to access memory that is outside of the b…
CWE-822Untrusted Pointer DereferenceThe product obtains a value from an untrusted source, converts this value to a pointer, and dereferences the resulting pointer.
CWE-823Use of Out-of-range Pointer OffsetThe product performs pointer arithmetic on a valid pointer, but it uses an offset that can point outside of the intended range of valid memory locations for th…
CWE-824Access of Uninitialized PointerThe product accesses or uses a pointer that has not been initialized.
CWE-825Expired Pointer DereferenceThe product dereferences a pointer that contains a location for memory that was previously valid, but is no longer valid. When a product releases memory, but …
Sourced from MITRE CWE 4.x XML. Curated by Adam Lundqvist, Founder at SQUR.
CWE weaknesses — by category | SQUR Knowledge Base