CWE WEAKNESSES / CWE-786
CWE-786
Access of Memory Location Before Start of Buffer
Base
What it is
The product reads or writes to a buffer using an index or pointer that references a memory location prior to the beginning of the buffer.
This typically occurs when a pointer or its index is decremented to a position before the buffer, when pointer arithmetic results in a position before the beginning of the valid memory location, or when a negative index is used.
Impact
| Confidentiality | Read Memory |
| Integrity, Availability | Modify Memory, DoS: Crash, Exit, or Restart |
| Integrity | Modify Memory, Execute Unauthorized Code or Commands |
Real-world CVE examples
- CVE-2002-2227 — Unchecked length of SSLv2 challenge value leads to buffer underflow.
- CVE-2007-4580 — Buffer underflow from a small size value with a large buffer (length parameter inconsistency, CWE-130)
- CVE-2007-1584 — Buffer underflow from an all-whitespace string, which causes a counter to be decremented before the buffer while looking for a non-whitespace character.
- CVE-2007-0886 — Buffer underflow resultant from encoded data that triggers an integer overflow.
- CVE-2006-6171 — Product sets an incorrect buffer size limit, leading to "off-by-two" buffer underflow.
- CVE-2006-4024 — Negative value is used in a memcpy() operation, leading to buffer underflow.
- CVE-2004-2620 — Buffer underflow due to mishandled special characters
Related weaknesses
Test & detect
Browse all common weaknesses, check related exploited CVEs, or map to ATT&CK techniques.
Source: MITRE CWE. View on cwe.mitre.org →