CWE-123: Write-what-where Condition

BaseDraftExploit Likelihood: High

Any condition where the attacker has the ability to write an arbitrary value to an arbitrary location, often as the result of a buffer overflow.

View on MITRE
Back to CWE Lookup

Technical Details

Structure
Simple

Applicable To

Languages
CC++
Platforms

Frequently Asked Questions

What is CWE-123: Write-what-where Condition?+

CWE-123: Write-what-where Condition is a Common Weakness Enumeration (CWE) entry maintained by MITRE. Any condition where the attacker has the ability to write an arbitrary value to an arbitrary location, often as the result of a buffer overflow.

What are the security consequences of Write-what-where Condition?+

If exploited, CWE-123 (Write-what-where Condition) it can compromise Integrity, Confidentiality, Availability, Access Control and Other, leading to outcomes such as Modify Memory, Execute Unauthorized Code or Commands, Gain Privileges or Assume Identity, DoS: Crash, Exit, or Restart, Bypass Protection Mechanism and Other.

How do you prevent or mitigate Write-what-where Condition?+

Recommended mitigations for CWE-123 include: Use a language that provides appropriate memory abstractions. Use OS-level preventative functionality integrated after the fact. Not a complete solution.

Which programming languages are affected by Write-what-where Condition?+

CWE-123 commonly affects C and C++. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.

What are real-world examples of Write-what-where Condition?+

MITRE documents real CVEs mapped to CWE-123, including CVE-2019-19911 and CVE-2022-0545. You can look up the full details of each CVE, including CVSS scores and remediation guidance, on our CVE Lookup tool.

What is the difference between a CWE and a CVE?+

A CWE (Common Weakness Enumeration) like CWE-123 describes a category of software weakness — the underlying flaw type. A CVE (Common Vulnerabilities and Exposures) identifies a specific, real-world vulnerability in a particular product. In short, a CWE is the kind of mistake, and a CVE is an instance of that mistake being found in software.

Learn More