[Forgot Password]
Login  Register Subscribe

30430

 
 

423868

 
 

247621

 
 

909

 
 

194512

 
 

282

Paid content will be excluded from the download.


Download | Alert*
CWE
view XML

Operation on a Resource after Expiration or Release

ID: 672Date: (C)2012-05-14   (M)2022-10-10
Type: weaknessStatus: DRAFT
Abstraction Type: Base





Description

The software uses, accesses, or otherwise operates on a resource after that resource has been expired, released, or revoked.

Applicable Platforms
None

Time Of Introduction

  • Architecture and Design
  • Implementation
  • Operation

Common Consequences

ScopeTechnical ImpactNotes
Integrity
Confidentiality
 
Modify application data
Read application data
 
If a released resource is subsequently reused or reallocated, then an attempt to use the original resource might allow access to sensitive data that is associated with a different user or entity.
 
Other
Availability
 
Other
DoS: crash / exit / restart
 
When a resource is released it might not be in an expected state, later attempts to access the resource may lead to resultant errors that may lead to a crash.
 

Detection Methods
None

Potential Mitigations
None

Relationships

Related CWETypeViewChain
CWE-672 ChildOf CWE-892 Category CWE-888  

Demonstrative Examples   (Details)

  1. In the following C/C++ example the method processMessage is used to process a message received in the input array of char arrays. The input message array contains two char arrays: the first is the length of the message and the second is the body of the message. The length of the message is retrieved and used to allocate enough memory for a local char array, messageBody, to be created for the message body. The messageBody is processed in the method processMessageBody that will return an error if an error occurs while processing. If an error occurs then the return result variable is set to indicate an error and the messageBody char array memory is released using the method free and an error message is sent to the logError method.
  2. The following code shows a simple example of a double free error: (Demonstrative Example Id DX-72)
  3. The following code shows a simple example of a use after free error: (Demonstrative Example Id DX-71)

Observed Examples

  1. 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 Mappings
None

References:
None

CVE    12
CVE-2017-0544
CVE-2017-14895
CVE-2020-12043
CVE-2020-15270
...

© SecPod Technologies