Premature Release of Resource During Expected LifetimeID: 826 | Date: (C)2012-05-14 (M)2022-10-10 |
Type: weakness | Status: INCOMPLETE |
Abstraction Type: Base |
Description
The program releases a resource that is still intended to be
used by the program itself or another actor.
Extended DescriptionThis weakness focuses on errors in which the program should not release a
resource, but performs the release anyway. This is different than a weakness
in which the program releases a resource at the appropriate time, but it
maintains a reference to the resource, which it later accesses. For this
weaknesses, the resource should still be valid upon the subsequent
access.When a program releases a resource that is still being used, it is
possible that operations will still be taken on this resource, which may
have been repurposed in the meantime, leading to issues similar to CWE-825.
Consequences may include denial of service, information exposure, or code
execution.
Applicable PlatformsNone
Common Consequences
Scope | Technical Impact | Notes |
---|
Confidentiality | Read application
dataRead memory | If the released resource is subsequently reused or reallocated, then a
read operation on the original resource might access sensitive data that
is associated with a different user or entity. |
Availability | DoS: crash / exit /
restart | When the resource is released, the software might modify some of its
structure, or close associated channels (such as a file descriptor).
When the software later accesses the resource as if it is valid, the
resource might not be in an expected state, leading to resultant errors
that may lead to a crash. |
IntegrityConfidentialityAvailability | Execute unauthorized code or
commandsModify application
dataModify memory | When the resource is released, the software might modify some of its
structure. This might affect program logic in the sections of code that
still assume the resource is active.If the released resource is related to memory and is used in a
function call, or points to unexpected data in a write operation, then
code execution may be possible upon subsequent accesses. |
Detection MethodsNone
Potential MitigationsNone
Relationships
Related CWE | Type | View | Chain |
---|
CWE-826 CanPrecede CWE-672 | Weakness | CWE-1000 | |
Demonstrative ExamplesNone
Observed Examples
- CVE-2009-3547 : chain: race condition might allow resource to be released before operating on it, leading to NULL dereference
For more examples, refer to CVE relations in the bottom box.
White Box Definitions None
Black Box Definitions None
Taxynomy MappingsNone
References:None