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 Universal Plug and Play (UPnP) Device Host Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Universal Plug and Play (UPnP) Device Host allows an authorized attacker to elevate privileges locally.
-
High 8.8
Microsoft OpenSSH for Windows Remote Code Execution Vulnerability
Heap-based buffer overflow in OpenSSH for Windows allows an unauthorized attacker to execute code over a network.
-
High 7.0
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
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
Windows PCI Bus Driver Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows PCI Bus Driver allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Kernel-Mode Drivers Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Kernel-Mode Drivers allows an authorized attacker to elevate privileges locally.
-
High 7.1
Internet Connection Sharing (ICS) Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Internet Connection Sharing (ICS) allows an authorized attacker to execute code over an adjacent network.
-
High 7.0
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 Background Intelligent Transfer Service (BITS) Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Background Intelligent Transfer Service (BITS) allows an authorized attacker to elevate privileges locally.
-
High 7.0
WebDAV Elevation of Privilege Vulnerability
Heap-based buffer overflow in WebDAV allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Universal Disk Format File System Driver (UDFS) Elevation of Privilege Vulnerability
Use after free in Windows Universal Disk Format File System Driver (UDFS) allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Background Intelligent Transfer Service (BITS) Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Background Intelligent Transfer Service (BITS) allows an authorized attacker to elevate privileges locally.
-
Medium 5.5
Windows Biometric Service Information Disclosure Vulnerability
Heap-based buffer overflow in Windows Biometric Service allows an authorized attacker to disclose information locally.
-
High 7.0
WebDAV Elevation of Privilege Vulnerability
Heap-based buffer overflow in WebDAV allows an authorized attacker to elevate privileges locally.
-
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.
-
Critical 9.8
Windows Routing and Remote Access Service (RRAS) Remote Code Execution Vulnerability
Remote Code Execution in Windows Routing and Remote Access Service (RRAS) allows attacker to gain an unauthorized access to victim's machine
-
Critical 9.8
Microsoft Windows Media Foundation Remote Code Execution Vulnerability
Heap-based buffer overflow in Microsoft Windows Media Foundation 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.2
Windows Distributed File System (DFS) Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Distributed File System (DFS) allows an authorized attacker to execute code over a network.
-
High 7.8
Windows Universal Plug and Play (UPnP) Device Host Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Universal Plug and Play (UPnP) Device Host allows an authorized attacker to elevate privileges locally.
-
High 7.0
Windows Encrypting File System (EFS) Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Encrypting File System (EFS) allows an authorized attacker to elevate privileges locally.
-
High 7.8
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 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 Installer Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Installer allows an authorized attacker to elevate privileges locally.
-
High 7.0
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 Routing and Remote Access Service (RRAS) Remote Code Execution Vulnerability
Remote Code Execution in Windows Routing and Remote Access Service (RRAS) allows attacker to gain an unauthorized access to victim's machine
-
High 7.8
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
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
Servicing Stack Updates Elevation of Privilege Vulnerability
Heap-based buffer overflow in Servicing Stack Updates allows an authorized attacker to elevate privileges locally.
-
Critical 9.8
Remote Access Point-to-Point Protocol (PPP) EAP-TLS Remote Code Execution Vulnerability
Heap-based buffer overflow in Remote Access Point-to-Point Protocol (PPP) EAP-TLS allows an unauthorized attacker to execute code over a network.
-
High 7.0
Windows Device Association Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Device Association Service allows an authorized attacker to elevate privileges locally.
-
Critical 9.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 Group Policy Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Group Policy allows an authorized attacker to elevate privileges locally.
-
High 7.0
Windows Search Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Microsoft Windows Search Component allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Search Service Elevation of Privilege Vulnerability
Heap-based buffer overflow in Microsoft Windows Search Component allows an authorized attacker to elevate privileges locally.
-
High 7.8
Microsoft Internet Messaging API Remote Code Execution Vulnerability
Heap-based buffer overflow in Microsoft Internet Messaging API allows an authorized attacker to execute code locally.
-
High 7.0
Windows Storage Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Storage allows an authorized attacker to elevate privileges locally.
-
High 7.0
Microsoft OpenSSH for Windows Elevation of Privilege Vulnerability
Heap-based buffer overflow in OpenSSH for Windows allows an authorized attacker to elevate privileges locally.
-
High 7.8
HID Parser Library Elevation of Privilege Vulnerability
Heap-based buffer overflow in HID Parser Library allows an authorized attacker to elevate privileges locally.
-
High 8.8
Windows GDI Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows GDI allows an unauthorized attacker to execute code over a network.