Weakness (CWE)
CWE-122: Heap-based Buffer Overflow
The product writes past the end of a buffer that was allocated on the heap.
How to prevent it (7 mitigations)
-
Pre-design: Use a language or compiler that performs automatic bounds checking.
-
Architecture and Design
Use an abstraction library to abstract away risky APIs. Not a complete solution.
-
Operation, Build and Compilation
Use automatic buffer overflow detection mechanisms that are offered by certain compilers or compiler extensions. Examples include: the Microsoft Visual Studio /GS flag, Fedora/Red Hat FORTIFY_SOURCE GCC flag, StackGuard, and ProPolice, which provide various mechanisms including canary-based detection and range/index checking.
D3-SFCV (Stack Frame Canary Validation) from D3FEND [REF-1334] discusses canary-based detection in detail.
-
Operation, Build and Compilation
Run or compile the software using features or extensions that randomly arrange the positions of a program's executable and libraries in memory. Because this makes the addresses unpredictable, it can prevent an attacker from reliably jumping to exploitable code.
Examples include Address Space Layout Randomization (ASLR) [REF-58] [REF-60] and Position-Independent Executables (PIE) [REF-64]. Imported modules may be similarly realigned if their default memory addresses conflict with other modules, in a process known as "rebasing" (for Windows) and "prelinking" (for Linux) [REF-1332] using randomly generated addresses. ASLR for libraries cannot be used in conjunction with prelink since it would require relocating the libraries at run-time, defeating the whole purpose of prelinking.
For more information on these techniques see D3-SAOR (Segment Address Offset Randomization) from D3FEND [REF-1335].
-
Implementation
Implement and perform bounds checking on input.
-
Implementation
Do not use dangerous functions such as gets. Look for their safe equivalent, which checks for the boundary.
-
Operation
Use OS-level preventative functionality. This is not a complete solution, but it provides some defense in depth.
Source: MITRE CWE-122
4,086 results · Feed
-
High 7.8
Windows DWM Core Library Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows DWM Core Library allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Secure Socket Tunneling Protocol (SSTP) Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Secure Socket Tunneling Protocol (SSTP) allows an authorized attacker to elevate privileges locally.
-
High 8.8
Windows Background Intelligent Transfer Service (BITS) Remote Code Execution Vulnerability
Use after free in Windows Background Intelligent Transfer Service (BITS) allows an unauthorized attacker to execute code over a network.
-
High 7.0
Windows Graphics Kernel Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Graphics Kernel allows an authorized attacker to elevate privileges locally.
-
High 7.0
Reliable Multicast Transport Driver (RMCAST) Elevation of Privilege Vulnerability
Time-of-check time-of-use (toctou) race condition in Reliable Multicast Transport Driver (RMCAST) allows an authorized attacker to elevate privileges locally.
-
High 7.8
Winlogon Elevation of Privilege Vulnerability
Heap-based buffer overflow in Winlogon allows an authorized attacker to elevate privileges locally.
-
High 7.5
Windows Reliable Multicast Transport Driver (RMCAST) Remote Code Execution Vulnerability
Heap-based buffer overflow in Reliable Multicast Transport Driver (RMCAST) allows an unauthorized attacker to execute code over an adjacent network.
-
High 7.8
Windows Hyper-V Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Hyper-V allows an authorized attacker to execute code locally.
-
Critical 9.8
Microsoft XML Remote Code Execution Vulnerability
Heap-based buffer overflow in Microsoft XML allows an unauthorized attacker to execute code over a network.
-
High 7.8
Windows Graphics Component Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Win32K - GRFX allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Direct Composition Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Direct Composition allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Graphics Component Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Win32K - GRFX allows an authorized attacker to elevate privileges locally.
-
High 8.8
Windows UI Immersive Server API Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows UI Immersive Server allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Direct Composition Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Direct Composition allows an authorized attacker to elevate privileges locally.
-
Medium 6.8
Windows Win32 Kernel Subsystem Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Win32 Kernel Subsystem allows an unauthorized attacker to elevate privileges with a physical attack.
-
High 7.8
Windows Remote Desktop Protocol Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Remote Desktop Protocol allows an authorized attacker to elevate privileges locally.
-
High 7.8
Microsoft Windows Search Component Elevation of Privilege Vulnerability
Heap-based buffer overflow in Microsoft Windows Search Component allows an authorized attacker to elevate privileges locally.
-
High 7.8
Servicing Stack Updates Elevation of Privilege Vulnerability
Heap-based buffer overflow in Servicing Stack Updates allows an authorized attacker to elevate privileges locally.
-
High 8.8
Windows Event Tracing Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Event Tracing allows an unauthorized attacker to execute code over a network.
-
High 7.8
Windows exFAT File System Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows exFAT File System allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows COM+ Event System Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows COM+ Event System Service allows an authorized attacker to elevate privileges locally.
-
High 7.5
Windows Internet Key Exchange (IKE) Extension Denial of Service Vulnerability
Heap-based buffer overflow in Windows IKE Extension allows an unauthorized attacker to deny service over a network.
-
High 7.8
Microsoft Windows Search Component Elevation of Privilege Vulnerability
Heap-based buffer overflow in Microsoft Windows Search Component allows an authorized attacker to elevate privileges locally.
-
High 8.8
Windows SMB Client Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows SMB Client allows an unauthorized attacker to elevate privileges over a network.
-
High 7.8
Windows Management Instrumentation Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Management Instrumentation allows an authorized attacker to elevate privileges locally.
-
High 8.8
Windows Bluetooth Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Bluetooth Service allows an unauthorized attacker to elevate privileges over an adjacent network.
-
High 8.8
Microsoft Internet Messaging API Remote Code Execution Vulnerability
Heap-based buffer overflow in Microsoft Internet Messaging API allows an unauthorized attacker to execute code over a network.
-
High 7.8
Win32k Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Win32K allows an authorized attacker to elevate privileges locally.
-
Critical 9.8
Windows Text Shaping Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Text Shaping allows an unauthorized attacker to execute code over a network.
-
High 7.0
Windows Error Reporting Elevation of Privilege Vulnerability
Time-of-check time-of-use (toctou) race condition in Windows Error Reporting allows an authorized attacker to elevate privileges locally.
-
Medium 5.5
Windows Kernel Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Kernel allows an authorized attacker to elevate privileges locally.
-
High 8.8
Windows Hyper-V Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Hyper-V allows an authorized attacker to execute code locally.
-
High 8.8
Microsoft Windows Search Component Remote Code Execution Vulnerability
Heap-based buffer overflow in Microsoft Windows Search Component allows an unauthorized attacker to execute code over a network.
-
High 7.0
Windows Management Instrumentation Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Management Instrumentation allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Client-Side Caching (CSC) Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Client-Side Caching (CSC) Service allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows NTLM Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows NTLM allows an authorized attacker to elevate privileges locally.
-
High 7.0
Windows Installer Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Installer allows an authorized attacker to elevate privileges locally.
-
High 7.0
Windows Installer Elevation of Privilege Vulnerability
Integer underflow (wrap or wraparound) in Windows Installer allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows USB Driver Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows USB Driver allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Sensor Data Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Sensor Data Service allows an authorized attacker to elevate privileges locally.