Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1325 CNY

100%

CWE-672 (在过期或释放后对资源进行操作) — Vulnerability Class 32

32 vulnerabilities classified as CWE-672 (在过期或释放后对资源进行操作). AI Chinese analysis included.

CWE-672 represents a resource management weakness where software continues to interact with a resource after it has been expired, released, or revoked. This vulnerability typically arises when applications fail to properly track the lifecycle of memory pointers, file handles, or network connections, leading to use-after-free errors or access to invalid data. Attackers exploit this by triggering the release of a resource while it remains referenced, potentially causing application crashes, data corruption, or arbitrary code execution through heap corruption. To mitigate this risk, developers must implement rigorous lifecycle management protocols, ensuring that all references to a resource are nullified or invalidated immediately upon release. Utilizing smart pointers, garbage collection mechanisms, and strict ownership models helps prevent dangling references, while comprehensive testing for race conditions ensures that concurrent operations do not inadvertently access freed resources.

MITRE CWE Description
The product uses, accesses, or otherwise operates on a resource after that resource has been expired, released, or revoked.
Common Consequences (2)
Integrity, ConfidentialityModify 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, AvailabilityOther, DoS: Crash, Exit, or 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.
Examples (2)
The following code shows a simple example of a use after free error:
char* ptr = (char*)malloc (SIZE); if (err) { abrt = 1; free(ptr); } ... if (abrt) { logError("operation aborted before commit", ptr); }
Bad · C
The following code shows a simple example of a double free error:
char* ptr = (char*)malloc (SIZE); ... if (abrt) { free(ptr); } ... free(ptr);
Bad · C
CVE IDTitleCVSSSeverityPublished
CVE-2019-15794 Reference counting error in overlayfs/shiftfs error path when used in conjuction with aufs — Linux kernel 7.1 High2020-04-23
CVE-2019-15791 Reference count underflow in shiftfs — Shiftfs in the Linux kernel 7.1 High2020-04-23

Vulnerabilities classified as CWE-672 (在过期或释放后对资源进行操作) represent 32 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.