Einführungsmodi
Implementation
Anwendbare Plattformen
Sprache
Class: Memory-Unsafe (Often)
Name: C (Undetermined)
Häufige Konsequenzen
| Bereich |
Auswirkung |
Wahrscheinlichkeit |
Integrity Availability Confidentiality | Modify Memory, DoS: Crash, Exit, or Restart, Execute Unauthorized Code or Commands | |
Beobachtete Beispiele
| Referenzen |
Beschreibung |
| function "internally calls 'calloc' and returns a pointer at an index... inside the allocated buffer. This led to freeing invalid memory." |
Mögliche Gegenmaßnahmen
Phases : Implementation
When utilizing pointer arithmetic to traverse a buffer, use a separate variable to track progress through memory and preserve the originally allocated address for later freeing.
Phases : Implementation
When programming in C++, consider using smart pointers provided by the boost library to help correctly and consistently manage memory.
Phases : Architecture and Design
Phases : Architecture and Design
Use a language that provides abstractions for memory allocation and deallocation.
Erkennungsmethoden
Automated Dynamic Analysis
Use tools that are integrated during
compilation to insert runtime error-checking mechanisms
related to memory safety errors, such as AddressSanitizer
(ASan) for C/C++ [REF-1518] or valgrind [REF-480].
Wirksamkeit : Moderate
Hinweise zur Schwachstellen-Zuordnung
Begründung : This CWE entry is at the Variant level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
Kommentar : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
Hinweise
Currently, CWE-763 is the parent, however it may be desirable to have an intermediate parent which is not function-specific, similar to how CWE-762 is an intermediate parent between CWE-763 and CWE-590.
Referenzen
REF-657
boost C++ Library Smart Pointers
https://www.boost.org/doc/libs/1_38_0/libs/smart_ptr/smart_ptr.htm REF-480
Valgrind
https://valgrind.org/ REF-1518
AddressSanitizer
https://clang.llvm.org/docs/AddressSanitizer.html
Einreichung
| Name |
Organisation |
Datum |
Veröffentlichungsdatum |
Version |
| CWE Content Team |
MITRE |
2009-05-08 +00:00 |
2009-05-27 +00:00 |
1.4 |
Änderungen
| Name |
Organisation |
Datum |
Kommentar |
| CWE Content Team |
MITRE |
2010-09-27 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2011-06-01 +00:00 |
updated Common_Consequences |
| CWE Content Team |
MITRE |
2012-05-11 +00:00 |
updated Demonstrative_Examples, Relationships |
| CWE Content Team |
MITRE |
2012-10-30 +00:00 |
updated Potential_Mitigations |
| CWE Content Team |
MITRE |
2014-02-18 +00:00 |
updated Potential_Mitigations |
| CWE Content Team |
MITRE |
2014-07-30 +00:00 |
updated Relationships, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2020-02-24 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2020-12-10 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2021-03-15 +00:00 |
updated Observed_Examples |
| CWE Content Team |
MITRE |
2023-01-31 +00:00 |
updated Description |
| CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated References, Relationships |
| CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
| CWE Content Team |
MITRE |
2025-09-09 +00:00 |
updated Functional_Areas, References |
| CWE Content Team |
MITRE |
2025-12-11 +00:00 |
updated Applicable_Platforms, Detection_Factors, Potential_Mitigations, References, Weakness_Ordinalities |
| CWE Content Team |
MITRE |
2026-04-30 +00:00 |
updated Detection_Factors |