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,087 results · Feed
-
High 7.0
Windows Audio Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Audio Service allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Biometric Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Biometric Service allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Storage Spaces Controller Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Storage Spaces Controller allows an authorized attacker to execute code locally.
-
High 7.8
Windows Storage Spaces Controller Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Storage Spaces Controller allows an authorized attacker to execute code locally.
-
High 8.2
Windows USB Video Driver Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows USB Video Driver allows an authorized attacker to elevate privileges locally.
-
High 7.8
Microsoft Storage Port Driver Elevation of Privilege Vulnerability
Heap-based buffer overflow in Storage Port Driver allows an authorized attacker to elevate privileges locally.
-
High 7.8
Role: Windows Fax Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Fax Service allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Remote Access Connection Manager Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Remote Access Connection Manager allows an authorized attacker to execute code locally.
-
Medium 6.8
Windows Spaceport.sys Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Spaceport.sys allows an unauthorized attacker to execute code with a physical attack.
-
Medium 6.8
Windows Spaceport.sys Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Spaceport.sys allows an unauthorized attacker to execute code with a physical attack.
-
Medium 6.7
Windows Installer Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Installer allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows NFS Portmapper Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows NFS Portmapper allows an authorized attacker to elevate privileges locally.
-
Medium 6.8
Windows NTFS Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows NTFS allows an unauthorized attacker to execute code with a physical attack.
-
High 8.8
Windows Paint Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Paint allows an unauthorized attacker to execute code over a network.
-
High 7.8
Windows Print Spooler Components Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Print Spooler Components allows an authorized attacker to elevate privileges locally.
-
High 7.8
HEVC Video Extensions Elevation of Privilege Vulnerability
Heap-based buffer overflow in Microsoft Windows Codecs Library allows an unauthorized attacker to elevate privileges locally.
-
High 8.8
Microsoft WebP Image Extension Remote Code Execution Vulnerability
Integer overflow or wraparound in Microsoft WebP Image Extension allows an unauthorized attacker to execute code over a network.
-
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 8.8
Windows Imaging Component Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Imaging Component allows an unauthorized attacker to execute code over a network.
-
High 7.8
Windows Kerberos Elevation of Privilege Vulnerability
Numeric truncation error in Windows Kerberos allows an authorized attacker to elevate privileges locally.
-
High 8.1
Windows Link Layer Topology Discovery Protocol Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Link Layer Topology Discovery Protocol allows an unauthorized attacker to execute code over a network.
-
High 7.8
Windows Universal Disk Format File System Driver (UDFS) Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Universal Disk Format File System Driver (UDFS) allows an authorized attacker to elevate privileges locally.
-
High 8.8
Windows Network File System Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Network File System allows an unauthorized attacker to execute code over a network.
-
High 7.8
Windows Spaceport.sys Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Spaceport.sys allows an authorized attacker to elevate privileges locally.
-
High 8.0
Virtual Hard Disk (VHD) Miniport Driver Elevation of Privilege Vulernability
Heap-based buffer overflow in Virtual Hard Disk (VHD) Miniport Driver allows an authorized attacker to elevate privileges over a network.
-
High 8.0
Windows NTFS Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows NTFS allows an authorized attacker to elevate privileges over a network.
-
High 8.8
Windows Credential Providers Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Credential Providers allows an authorized attacker to execute code over a network.
-
High 8.4
Windows NTFS Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows NTFS allows an unauthorized attacker to execute code locally.
-
High 7.8
Windows Credential Providers Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Credential Providers allows an authorized attacker to elevate privileges locally.
-
High 8.8
Windows iSCSI Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows iSCSI allows an authorized attacker to execute code over a network.
-
High 8.0
Windows HTTP Print Provider Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows HTTP Print Provider allows an authorized attacker to execute code over a network.
-
High 7.8
Microsoft Local Security Authority (LSA) Server Elevation of Privilege Vulnerability
Heap-based buffer overflow in Microsoft Local Security Authority Server (lsasrv) allows an authorized attacker to elevate privileges locally.
-
High 7.0
Windows Program Compatibility Assistant Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Program Compatibility Assistant Service allows an authorized attacker to elevate privileges locally.
-
High 7.8
Virtual Hard Disk (VHD) Miniport Driver Elevation of Privilege Vulernability
Heap-based buffer overflow in Virtual Hard Disk (VHD) Miniport Driver allows an authorized attacker to elevate privileges locally.
-
High 7.0
Role: Windows Fax Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Fax Service allows an authorized attacker to elevate privileges locally.
-
High 7.5
Remote Desktop Services Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Remote Desktop Services allows an authorized attacker to execute code over a network.
-
High 8.8
Windows Event Logging Service Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Event Logging Service allows an unauthorized attacker to execute code over a network.
-
Critical 9.8
Windows Compressed Folder Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Compressed Folder allows an unauthorized attacker to execute code over a network.
-
High 8.8
Windows Event Logging Service Remote Code Execution Vulnerability
Out-of-bounds read in Windows Event Logging Service allows an unauthorized attacker to execute code over a network.
-
High 8.4
Windows NTFS Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows NTFS allows an unauthorized attacker to execute code locally.