CWE-824: Access of Uninitialized Pointer
The product accesses or uses a pointer that has not been initialized.
Last updated
Overview
If the pointer contains an uninitialized value, then the value might not point to a valid memory location. This could cause the product to read from or write to unexpected memory locations, leading to a denial of service. If the uninitialized pointer is used as a function call, then arbitrary functions could be invoked. If an attacker can influence the portion of uninitialized memory that is contained in the pointer, this weakness could be leveraged to execute code or perform other attacks. Depending on memory layout, associated memory management behaviors, and product operation, the attacker might be able to influence the contents of the uninitialized pointer, thus gaining more fine-grained control of the memory location to be accessed.
Real-world CVEs
196 recorded CVEs are caused by CWE-824 (Access of Uninitialized Pointer), including 2 in CISA's KEV (Known Exploited Vulnerabilities) catalog. KEVs are shown first. 18 new CWE-824 CVEs have been recorded so far in 2026 (27 in 2025).
- CVE-2015-1770CISA KEVCritical · CVSS 9.4 · EPSS 98th2015-06-10
- CVE-2022-21971CISA KEV
Windows Runtime Remote Code Execution Vulnerability
High · CVSS 8.4 · EPSS 99th2022-02-09 - CVE-2026-2805
Invalid pointer in the DOM: Core & HTML component
Critical · CVSS 9.8 · EPSS 33th2026-02-24 - CVE-2026-2785
Invalid pointer in the JavaScript Engine component
Critical · CVSS 9.8 · EPSS 29th2026-02-24 - CVE-2022-42885Critical · CVSS 9.8 · EPSS 53th2023-07-21
- CVE-2022-44451Critical · CVSS 9.8 · EPSS 53th2023-07-21
- CVE-2022-46280Critical · CVSS 9.8 · EPSS 54th2023-07-21
- CVE-2021-1619Critical · CVSS 9.8 · EPSS 75th2021-09-23
- CVE-2025-32451High · CVSS 8.8 · EPSS 44th2025-08-13
- CVE-2022-33280High · CVSS 8.8 · EPSS 25th2023-02-09
- CVE-2022-34480High · CVSS 8.8 · EPSS 42th2022-12-22
- CVE-2021-41208High · CVSS 8.8 · EPSS 6th2021-11-05
Showing 12 of 196 recorded CWE-824 CVEs. Track new ones as they are published and get AI-written analysis and fixes.
Monitor CWE-824 vulnerabilitiesCommon consequences
What can happen when CWE-824 is exploited.
Read Memory
Affects: Confidentiality
If the uninitialized pointer is used in a read operation, an attacker might be able to read sensitive portions of memory.
DoS: Crash, Exit, or Restart
Affects: Availability
If the uninitialized pointer references a memory location that is not accessible to the product, or points to a location that is "malformed" (such as NULL) or larger than expected by a read or write operation, then a crash may occur.
Execute Unauthorized Code or Commands
Affects: Integrity, Confidentiality, Availability
If the uninitialized pointer is used in a function call, or points to unexpected data in a write operation, then code execution may be possible.
How it happens
When it is introduced
Typically introduced during these phases of the software lifecycle.
Applies to
Languages
How to detect it
Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
Effectiveness: High
Automated Dynamic Analysis
Use tools that are integrated during compilation to insert runtime error-checking mechanisms related to memory safety errors, such as AddressSanitizer (ASan) for C/C++ [REF-1518].
Effectiveness: Moderate
Illustrative examples
Real CVEs that MITRE cites as examples of this weakness.
- CVE-2024-32878 — LLM product has a free of an uninitialized pointer
- CVE-2019-3836 — Chain: secure communications library does not initialize a local variable for a data structure (CWE-456), leading to access of an uninitialized pointer (CWE-824).
- CVE-2018-14641 — Chain: C union member is not initialized (CWE-456), leading to access of invalid pointer (CWE-824)
- CVE-2010-0211 — chain: unchecked return value (CWE-252) leads to free of invalid, uninitialized pointer (CWE-824).
- CVE-2009-2768 — Pointer in structure is not initialized, leading to NULL pointer dereference (CWE-476) and system crash.
- CVE-2009-1721 — Free of an uninitialized pointer.
- CVE-2009-1415 — Improper handling of invalid signatures leads to free of invalid pointer.
- CVE-2009-0846 — Invalid encoding triggers free of uninitialized pointer.
- CVE-2009-0040 — Crafted PNG image leads to free of uninitialized pointer.
- CVE-2008-2934 — Crafted GIF image leads to free of uninitialized pointer.
- CVE-2007-4682 — Access of uninitialized pointer might lead to code execution.
- CVE-2007-4639 — Step-based manipulation: invocation of debugging function before the primary initialization function leads to access of an uninitialized pointer and code execution.
- CVE-2007-4000 — Unchecked return values can lead to a write to an uninitialized pointer.
- CVE-2007-2442 — zero-length input leads to free of uninitialized pointer.
- CVE-2007-1213 — Crafted font leads to uninitialized function pointer.
- CVE-2006-6143 — Uninitialized function pointer in freed memory is invoked
- CVE-2006-4175 — LDAP server mishandles malformed BER queries, leading to free of uninitialized memory
- CVE-2006-0054 — Firewall can crash with certain ICMP packets that trigger access of an uninitialized pointer.
- CVE-2003-1201 — LDAP server does not initialize members of structs, which leads to free of uninitialized pointer if an LDAP request fails.
Frequently asked questions
Common questions about CWE-824.
- What is CWE-824?
- The product accesses or uses a pointer that has not been initialized.
- What CVEs are caused by CWE-824?
- 196 recorded CVEs are attributed to CWE-824, including CVE-2015-1770, CVE-2022-21971, CVE-2026-2805. 2 are listed in CISA's Known Exploited Vulnerabilities (KEV) catalog.
- How is CWE-824 detected?
- Automated Static Analysis: Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
- What are the consequences of CWE-824?
- Exploiting CWE-824 can lead to: Read Memory, DoS: Crash, Exit, or Restart, Execute Unauthorized Code or Commands.
- Is CWE-824 actively exploited?
- Yes. 2 CWE-824 vulnerabilities are in CISA's KEV catalog of actively exploited flaws, out of 196 recorded CVEs.
References
- MITRE CWE definition (CWE-824) (opens in a new tab)
- CWE-824 vulnerabilities on NVD (opens in a new tab)
- Learn: What is a CWE?
Weakness data is sourced from the MITRE CWE catalog (v4.20). CVE associations are aggregated and kept current by RadicalNotion.AI.
Stay ahead of CWE-824
Get alerted the moment a new CWE-824 vulnerability affects your stack, with AI-written analysis, severity context, and remediation guidance.