CWE-832: Unlock of a Resource that is not Locked
The product attempts to unlock a resource that is not locked.
Last updated
Overview
Depending on the locking functionality, an unlock of a non-locked resource might cause memory corruption or other modification to the resource (or its associated metadata that is used for tracking locks).
Real-world CVEs
1 recorded CVEs are caused by CWE-832 (Unlock of a Resource that is not Locked). The highest-severity and most recent are shown first.
Common consequences
What can happen when CWE-832 is exploited.
DoS: Crash, Exit, or Restart, Execute Unauthorized Code or Commands, Modify Memory, Other
Affects: Integrity, Confidentiality, Availability, Other
Depending on the locking being used, an unlock operation might not have any adverse effects. When effects exist, the most common consequence will be a corruption of the state of the product, possibly leading to a crash or exit; depending on the implementation of the unlocking, memory corruption or code execution could occur.
How it happens
When it is introduced
Typically introduced during these phases of the software lifecycle.
How to detect it
Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
Effectiveness: High
Illustrative examples
Real CVEs that MITRE cites as examples of this weakness.
- CVE-2010-4210 — function in OS kernel unlocks a mutex that was not previously locked, causing a panic or overwrite of arbitrary memory.
- CVE-2008-4302 — Chain: OS kernel does not properly handle a failure of a function call (CWE-755), leading to an unlock of a resource that was not locked (CWE-832), with resultant crash.
- CVE-2009-1243 — OS kernel performs an unlock in some incorrect circumstances, leading to panic.
Frequently asked questions
Common questions about CWE-832.
- What is CWE-832?
- The product attempts to unlock a resource that is not locked.
- What CVEs are caused by CWE-832?
- 1 recorded CVEs are attributed to CWE-832, including CVE-2024-31143.
- How is CWE-832 detected?
- Automated Static Analysis: Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
- What are the consequences of CWE-832?
- Exploiting CWE-832 can lead to: DoS: Crash, Exit, or Restart, Execute Unauthorized Code or Commands, Modify Memory, Other.
- Is CWE-832 actively exploited?
- 1 recorded CVEs are caused by CWE-832; none are currently in CISA's KEV catalog of actively exploited flaws.
References
- MITRE CWE definition (CWE-832) (opens in a new tab)
- CWE-832 vulnerabilities on NVD (opens in a new tab)
- Learn: What is a CWE?
Weakness data is sourced from the MITRE CWE catalog (v4.20). CVE associations are aggregated and kept current by RadicalNotion.AI.
Stay ahead of CWE-832
Get alerted the moment a new CWE-832 vulnerability affects your stack, with AI-written analysis, severity context, and remediation guidance.