CWE-825—Expired Pointer Dereference
PUBLISHEDweakness record
released 2010-09-27 · last modified 2025-12-11
Metadata
- CWE ID:
- CWE-825
- Abstraction:
- Base
- Structure:
- Simple
- Status:
- Incomplete
- Release Date:
- 2010-09-27
- Latest Modification Date:
- 2025-12-11
Weakness Name
Expired Pointer Dereference
Description
The 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 it maintains a pointer to that memory, then the memory might be re-allocated at a later time. If the original pointer is accessed to read or write data, then this could cause the product to read or modify data that is in use by a different function or process. Depending on how the newly-allocated memory is used, this could lead to a denial of service, information exposure, or code execution.
Common Consequences
- Scope:
- Confidentiality
- Impact:
- Read Memory
- Notes:
- If the expired pointer is used in a read operation, an attacker might be able to control data read in by the application.
- Scope:
- Availability
- Impact:
- DoS: Crash, Exit, or Restart
- Notes:
- If the expired 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.
- Scope:
- Integrity, Confidentiality, Availability
- Impact:
- Execute Unauthorized Code or Commands
- Notes:
- If the expired pointer is used in a function call, or points to unexpected data in a write operation, then code execution may be possible.