CWE-404: Improper Resource Shutdown or Release
ClassLikelihood of exploit: Medium
The product does not release or incorrectly releases a resource before it is made available for re-use.
When a resource is created or allocated, the developer is responsible for properly releasing the resource as well as accounting for all potential paths of expiration or invalidation, such as a set period of time or revocation.
Consequences
- Availability, Other: DoS: Resource Consumption (Other), Varies by Context
- Confidentiality: Read Application Data
How to prevent it
- Requirements: Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. For example, languages such as Java, Ruby, and Lisp perform automatic garbage collection that releases memory for objects that have been deallocated.
- Implementation: It is good practice to be responsible for freeing all resources you allocate and to be consistent with how and where you free memory in a function. If you allocate memory that you intend to free upon completion of the function, you must be sure to free the memory at all exit points for that function including error conditions.
- Implementation: Memory should be allocated/freed using matching functions such as malloc/free, new/delete, and new[]/delete[].
- Implementation: When releasing a complex object or structure, ensure that you properly dispose of all of its member components, not just the object itself.
Recent advisories
- PYSEC-2026-4319 — A security flaw has been discovered in vllm-project vLLM up to 0.31.0.
- PYSEC-2026-4186 — A flaw has been found in vllm-project vLLM up to 0.26.0.
- GHSA-9x8q-7h8h-wcw9 — aiohttp: Payload Response Resources Are Not Closed After Mid-Body Disconnect
- GHSA-98f3-hwg4-4rf7 — vllm has Improper Resource Shutdown or Release
- GHSA-w9m9-85wc-3x92 — postcss-selector-parser allows denial of service through uncontrolled AST recursion
- GHSA-3298-56p6-rpw2 — OpenClaw has incomplete Fix for CVE-2026-27486: Unvalidated SIGKILL in `!stop` Chat Command via `shell-utils.ts`
- GHSA-h656-5vcf-cm23 — OpenClaw: Unauthorized Telegram Senders Trigger Media Download and Disk Write Before Access Check
- GHSA-rxpr-wq63-jr7p — Open Babel has a NULL pointer dereference in CDXML OBAtom::GetExplicitValence
- GHSA-9p56-p6mw-w8qc — Jenkins has a Denial of service vulnerability in HTTP-based CLI
- GHSA-hgrr-935x-pq79 — Apache Tomcat Vulnerable to Improper Resource Shutdown or Release
- GHSA-m982-7q3h-r784 — Open Babel has out-of-bounds read in PQS lowerit (pre-buffer read)
- GHSA-55j6-rjhx-hwfh — Open Babel has NULL pointer dereference in CACAO CacaoFormat::SetHilderbrandt
- GHSA-j9pp-7wfg-q7fj — Open Babel has NULL pointer dereference in ChemKinFormat::ReadReactionQualifierLines
- GHSA-95h4-w6j8-2rp8 — Undertow MadeYouReset HTTP/2 DDoS Vulnerability
- RUSTSEC-2025-0070 — Pingora MadeYouReset HTTP/2 vulnerability
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor