Umbra Wiki weakness weakness/CWE-366
Back to wiki

CWE-366 — Race Condition within a Thread

provenance: imported · CWE: CWE-366

CWE-366: Race Condition within a Thread

MITRE CWE weakness

Kind Weakness
Abstraction Base
Status Draft
Likelihood of exploit Medium

Description

If two threads of execution use a resource simultaneously, there exists the possibility that resources may be used while invalid, in turn making the state of execution undefined.

Common consequences

  • Integrity, Other: Alter Execution Logic, Unexpected State

Mitigations

Architecture and Design — Use locking functionality. This is the recommended solution. Implement some form of locking mechanism around code which alters or reads persistent data in a multithreaded environment.

Architecture and Design — Create resource-locking validation checks. If no inherent locking mechanisms exist, use flags and signals to enforce your own blocking scheme when resources are being used by other threads of execution.

References

  • CWE page: https://cwe.mitre.org/data/definitions/366.html
  • CWE list: https://cwe.mitre.org/data/index.html