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
2,892 results · Clear filters · Feed
-
High 7.8
Windows Bind Filter Driver Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Bind Filter Driver allows an authorized attacker to elevate privileges locally.
-
High 8.8
Remote Desktop Client Remote Code Execution Vulnerability
Heap-based buffer overflow in Remote Desktop Client allows an unauthorized attacker to execute code over a network.
-
High 7.8
Windows TCP/IP Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows TCP/IP allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows NTFS Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows NTFS allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Media Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Media allows an authorized attacker to elevate privileges locally.
-
High 7.0
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 Media Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Media allows an authorized attacker to elevate privileges locally.
-
High 7.8
RPC Runtime Elevation of Privilege Vulnerability
Heap-based buffer overflow in RPC Runtime allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Update Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Update allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Error Reporting Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Error Reporting allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows kernel32.dll Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows kernel32.dll allows an authorized attacker to elevate privileges locally.
-
High 7.8
Microsoft Windows Media Foundation Elevation of Privilege Vulnerability
Heap-based buffer overflow in Microsoft Windows Media Foundation allows an authorized attacker to elevate privileges locally.
-
High 7.8
Desktop Window Manager Elevation of Privilege Vulnerability
Heap-based buffer overflow in Desktop Window Manager allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Win32k Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Win32 Kernel Subsystem allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Common Log File System Driver Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Common Log File System Driver allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Portable Device File System Driver Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Portable Device File System Driver allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows OLE Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows OLE allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Kernel Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Kernel allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Win32k Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Win32 Kernel Subsystem allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Win32k Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Win32 Kernel Subsystem allows an authorized attacker to elevate privileges locally.
-
High 7.8
Microsoft Graphics Component Elevation of Privilege Vulnerability
Numeric truncation error in Microsoft Graphics Component allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Update Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Update Service allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Kernel Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Kernel allows an authorized attacker to elevate privileges locally.
-
High 7.5
Windows iSCSI Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows iSCSI allows an unauthorized attacker to execute code over a network.
-
High 7.8
Windows Error Reporting Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Error Reporting allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Rich Text Edit Control Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Rich Text Edit Control allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Kernel Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Kernel allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Win32k Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Win32 Kernel Subsystem allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Subsystem for Linux Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Subsystem for Linux allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Local Security Authority Subsystem Service (LSASS) Elevation of Privilege Vulnerability
Use after free in Windows Local Security Authority Subsystem Service (LSASS) allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows OLE Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows OLE allows an authorized attacker to elevate privileges locally.
-
High 7.0
Kernel Streaming Service Driver Elevation of Privilege Vulnerability
Heap-based buffer overflow in Microsoft Streaming Service allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows NTFS Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows NTFS allows an authorized attacker to elevate privileges locally.
-
High 7.8
Kernel Streaming Service Driver Elevation of Privilege Vulnerability
Heap-based buffer overflow in Microsoft Streaming Service allows an authorized attacker to elevate privileges locally.
-
High 8.8
Windows Core Messaging Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Core Messaging allows an authorized attacker to elevate privileges locally.
-
High 7.8
Microsoft COM for Windows Elevation of Privilege Vulnerability
Heap-based buffer overflow in Microsoft COM for Windows allows an authorized attacker to elevate privileges locally.
-
High 8.0
Windows Error Reporting Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Error Reporting allows an authorized attacker to elevate privileges over a network.
-
High 7.8
Windows Kernel Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Kernel allows an authorized attacker to elevate privileges locally.
-
High 8.8
Microsoft PostScript Printer Driver Remote Code Execution Vulnerability
Heap-based buffer overflow in Microsoft PostScript Printer Driver allows an authorized attacker to execute code over a network.
-
High 7.2
Windows Hyper-V Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Hyper-V allows an authorized attacker to elevate privileges locally.