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,078 results · Feed
-
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.0
Microsoft Color Management Remote Code Execution Vulnerability
Heap-based buffer overflow in Microsoft Color Management allows an unauthorized attacker to execute code 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 8.8
Windows Performance Counters Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Performance Counters 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.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
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
Windows HTTP.sys Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows HTTP.sys allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows USB Hub Driver Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows USB Hub Driver allows an authorized attacker to elevate privileges locally.
-
Medium 6.8
Windows Kernel Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Kernel allows an unauthorized attacker to elevate privileges with a physical attack.
-
High 7.8
Windows Task Scheduler Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Task Scheduler allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows iSCSI Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows iSCSI 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
Xbox Gaming Services Elevation of Privilege Vulnerability
Heap-based buffer overflow in Xbox allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows GDI Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows GDI allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Advanced Rasterization Platform Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Advanced Rasterization Platform 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.
-
High 7.0
Windows Local Security Authority Subsystem Service (LSASS) Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Local Security Authority Subsystem Service (LSASS) allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows LUA File Virtualization Filter Driver Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows LUAFV allows an authorized attacker to elevate privileges locally.
-
High 7.8
Windows Local Security Authority Subsystem Service (LSASS) Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows Local Security Authority Subsystem Service (LSASS) allows an authorized attacker to elevate privileges locally.
-
High 7.5
Windows DHCP Server Remote Code Execution Vulnerability
Time-of-check time-of-use (toctou) race condition in Windows DHCP Server allows an authorized attacker to execute code over a network.
-
High 8.1
Windows DNS Server Remote Code Execution Vulnerability
Heap-based buffer overflow in DNS Server allows an unauthorized attacker to execute code over a network.
-
High 8.8
Microsoft SQL Server Remote Code Execution Vulnerability
Heap-based buffer overflow in SQL Server allows an authorized attacker to execute code over a network.
-
High 8.8
Microsoft WDAC OLE DB provider for SQL Remote Code Execution Vulnerability
Heap-based buffer overflow in Microsoft WDAC OLE DB provider for SQL allows an unauthorized attacker to execute code over a network.
-
High 8.8
Microsoft WDAC OLE DB provider for SQL Remote Code Execution Vulnerability
Heap-based buffer overflow in Microsoft WDAC OLE DB provider for SQL allows an unauthorized attacker to execute code over a network.
-
High 8.8
SQL Server Remote Code Execution Vulnerability
Heap-based buffer overflow in SQL Server allows an authorized attacker to execute code over a network.
-
High 8.0
Microsoft SQL Server Elevation of Privilege Vulnerability
Heap-based buffer overflow in SQL Server allows an authorized attacker to elevate privileges over a network.
-
High 8.8
Windows Raw Image Extension Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows Raw Image Extension allows an unauthorized attacker to execute code over a network.
-
High 7.8
HEVC Video Extensions Remote Code Execution Vulnerability
Heap-based buffer overflow in Microsoft Windows Codecs Library allows an unauthorized attacker to execute code locally.
-
High 7.8
HEVC Video Extensions Remote Code Execution Vulnerability
Heap-based buffer overflow in Microsoft Windows Codecs Library allows an unauthorized attacker to execute code locally.
-
Critical 9.8
Microsoft Xbox Remote Code Execution Vulnerability
Heap-based buffer overflow in Xbox allows an unauthorized attacker to execute code over a network.
-
High 8.8
Microsoft ODBC Driver Remote Code Execution Vulnerability
Heap-based buffer overflow in Windows ODBC Driver allows an unauthorized attacker to execute code over a network.
-
High 7.0
Windows OLE DB Elevation of Privilege Vulnerability
Heap-based buffer overflow in Windows OLE DB allows an authorized attacker to elevate privileges locally.
-
Medium 6.9
Heap-based buffer overflow for some Hyperscan before version v5.4.2.1 within Ring 3: User Applications may allow a deni…
-
High 8.5
Heap-based buffer overflow for some Intel(R) PROSet Wireless Wi-Fi Software for Windows within Ring 0: Kernel may allow…
-
Medium 5.8
Heap-based buffer overflow for some Hyperscan before version v5.4.2.1 within Ring 3: User Applications may allow a deni…
-
High 8.3
Buffer overflow in Compositing in Google Chrome prior to 157.0.8103.50 allowed a remote attacker who had compromised th…
-
High 7.8
apitrace 2.0 through 14.0 Heap Buffer Overflow via SnappyFile::flushReadCache()
apitrace 2.0 through 14.0 contains a heap-based buffer overflow in SnappyFile::flushReadCache() that allows attackers to write past m_compressedCache via an oversized compressed chunk length. Attackers can supply a crafted .trace file whose 4-byte chunk lengt…
-
High 7.0
Heap-based Buffer Overflow Vulnerability in Hitachi Dynamic Link Manager for Linux
Heap-based Buffer Overflow Vulnerability in Hitachi Dynamic Link Manager for Linux. This issue affects Hitachi Dynamic Link Manager for Linux: from 7.5.0-00 before 9.0.5-00.
-
Critical 10.0
Memory Corruption vulnerability in SAP Web Dispatcher
SAP Web Dispatcher does not sufficiently validate certain network input processed by an internal component. An unauthenticated attacker could send specially crafted network traffic to trigger a memory corruption condition in the affected functionality. Succes…