Skip to content

Weakness class · MEM

Memory Corruption

73,454 published CVEs name a weakness in this class; 464 of them are exploited in the wild.
73,454CVEs
464exploited
66CWEs
846disclosed reports

CWEs in this class66

CWEs of Memory Corruption, most CVEs first
CWEWeaknessCVEsExploitedCheck
CWE-119Memory Buffer Bounds12,236505
CWE-787Out-of-bounds Write11,3401292
CWE-125Out-of-bounds Read10,111185
CWE-416Use After Free9,6071072
CWE-476NULL Pointer Dereference5,71612
CWE-120Classic Buffer Overflow4,419232
CWE-121Stack-based Buffer Overflow4,147200
CWE-122Heap-based Buffer Overflow3,923200
CWE-190Integer Overflow3,565225
CWE-843Type Confusion986420
CWE-415Double Free93350
CWE-908Use of Uninitialized Resource93121
CWE-129Improper Validation of Array Index648––
CWE-126Buffer Over-read592––
CWE-191Integer Underflow (Wrap or Wraparound)592––
CWE-134Use of Externally-Controlled Format String417––
CWE-665Improper Initialization336––
CWE-822Untrusted Pointer Dereference333––
CWE-824Access of Uninitialized Pointer285––
CWE-457Use of Uninitialized Variable284––
CWE-193Off-by-one Error228––
CWE-704Incorrect Type Conversion or Cast202––
CWE-131Incorrect Calculation of Buffer Size201––
CWE-788Access of Memory Location After End of Buffer144––
CWE-130Improper Handling of Length Parameter Inconsistency128––
CWE-763Release of Invalid Pointer or Reference116––
CWE-680Integer Overflow to Buffer Overflow113––
CWE-681Incorrect Conversion between Numeric Types107––
CWE-823Use of Out-of-range Pointer Offset102––
CWE-197Numeric Truncation Error94––
CWE-909Missing Initialization of Resource81––
CWE-123Write-what-where Condition65––
CWE-825Expired Pointer Dereference59––
CWE-805Buffer Access with Incorrect Length Value56––
CWE-170Improper Null Termination52––
CWE-124Buffer Underwrite47––
CWE-195Signed to Unsigned Conversion Error30––
CWE-590Free of Memory not on the Heap24––
CWE-118Incorrect Access of Indexable Resource23––
CWE-244Improper Clearing of Heap Memory Before Release22––
CWE-911Improper Update of Reference Count18––
CWE-762Mismatched Memory Management Routines14––
CWE-127Buffer Under-read13––
CWE-242Use of Inherently Dangerous Function11––
CWE-1419Incorrect Initialization of Resource11––
CWE-196Unsigned to Signed Conversion Error9––
CWE-456Missing Initialization of a Variable9––
CWE-466Return of Pointer Value Outside of Expected Range8––
CWE-562Return of Stack Variable Address8––
CWE-786Access of Memory Location Before Start of Buffer8––
CWE-826Premature Release of Resource During Expected Lifetime8––
CWE-192Integer Coercion Error7––
CWE-128Wrap-around Error5––
CWE-194Unexpected Sign Extension5––
CWE-468Incorrect Pointer Scaling4––
CWE-467Use of sizeof() on a Pointer Type3––
CWE-188Reliance on Data/Memory Layout2––
CWE-198Use of Incorrect Byte Ordering2––
CWE-465Pointer Issues2––
CWE-588Attempt to Access Child of a Non-structure Pointer2––
CWE-761Free of Pointer not at Start of Buffer2––
CWE-910Use of Expired File Descriptor2––
CWE-1221Incorrect Register Defaults or Module Parameters2––
CWE-1389Incorrect Parsing of Numbers with Different Radices2––
CWE-469Use of Pointer Subtraction to Determine Size1––
CWE-1051Initialization with Hard-Coded Network Resource Configuration Data1––

Exploited and check counts are given for the class's largest CWEs; open a CWE for its CVEs.

Data as of 2026-11-14.

Updated AboutDevelopersSign in