Heap overflow
A heap overflow, heap overrun, or heap smashing is a type of buffer overflow that occurs in the heap data area. Heap overflows are exploitable in a different manner to that of stack-based overflows. Memory on the heap is dynamically allocated at runtime and typically contains program data. Exploitation is performed by corrupting this data in specific ways to cause the application to overwrite internal structures such as linked list pointers. The canonical heap overflow technique overwrites dynamic memory allocation linkage (such as malloc metadata) and uses the resulting pointer exchange to overwrite a program function pointer.
- Abnormality114501726
- Abstraction100002137
- Accomplishment100035189
- Act100030358
- Action100037396
- Anomaly114505821
- Attribute100024264
- Condition113920835
- Event100029378
- Feat100036762
- PhysicalCondition114034177
- PsychologicalFeature100023100
- State100024720
- WikicatComputerSecurityExploits
- WikicatSoftwareAnomalies
- YagoPermanentlyLocatedEntity
- Comment
- enA heap overflow, heap overrun, or heap smashing is a type of buffer overflow that occurs in the heap data area. Heap overflows are exploitable in a different manner to that of stack-based overflows. Memory on the heap is dynamically allocated at runtime and typically contains program data. Exploitation is performed by corrupting this data in specific ways to cause the application to overwrite internal structures such as linked list pointers. The canonical heap overflow technique overwrites dynamic memory allocation linkage (such as malloc metadata) and uses the resulting pointer exchange to overwrite a program function pointer.
- Has abstract
- enA heap overflow, heap overrun, or heap smashing is a type of buffer overflow that occurs in the heap data area. Heap overflows are exploitable in a different manner to that of stack-based overflows. Memory on the heap is dynamically allocated at runtime and typically contains program data. Exploitation is performed by corrupting this data in specific ways to cause the application to overwrite internal structures such as linked list pointers. The canonical heap overflow technique overwrites dynamic memory allocation linkage (such as malloc metadata) and uses the resulting pointer exchange to overwrite a program function pointer. For example, on older versions of Linux, two buffers allocated next to each other on the heap could result in the first buffer overwriting the second buffer's metadata. By setting the in-use bit to zero of the second buffer and setting the length to a small negative value which allows null bytes to be copied, when the program calls free on the first buffer it will attempt to merge these two buffers into a single buffer. When this happens, the buffer that is assumed to be freed will be expected to hold two pointers FD and BK in the first 8 bytes of the formerly allocated buffer. BK gets written into FD and can be used to overwrite a pointer.
- Hypernym
- Overflow
- Is primary topic of
- Heap overflow
- Label
- enHeap overflow
- Link from a Wikipage to an external page
- phrack.org/issues/57/8.html%23article
- www.h-online.com/security/features/A-Heap-of-Risk-747161.html
- www.ptsecurity.com/download/defeating-xpsp2-heap-protection.pdf
- Link from a Wikipage to another Wikipage
- Address Space Layout Randomization
- Arbitrary code execution
- ASLR
- Buffer overflow
- Category:Computer security exploits
- Category:Software anomalies
- C dynamic memory allocation
- Exploit (computer security)
- Function pointer
- GNU C Library
- Graphics Device Interface
- Heap (programming)
- Heap spraying
- IOS jailbreaking
- JPEG
- Kernel (operating system)
- Linked list
- Linux
- Memory protection
- Microsoft
- NX bit
- Operating system
- PaX
- Pointer (computer programming)
- Runtime (program lifecycle phase)
- Shellcode
- Stack buffer overflow
- Stack overflow
- Windows Server 2003
- Windows Vista
- Windows XP
- SameAs
- 4wseb
- Dépassement de tas
- Desbordamiento de montículo
- Heap overflow
- Heap overflow
- Heap overflow
- Heap overflow
- m.01g21g
- Přetečení na haldě
- Przepełnienie sterty
- Q775289
- سرریز هیپ
- 힙 오버플로
- Subject
- Category:Computer security exploits
- Category:Software anomalies
- WasDerivedFrom
- Heap overflow?oldid=1115013439&ns=0
- WikiPageInterLanguageLink
- Heap Overflow
- WikiPageLength
- 5490
- Wikipage page ID
- 219328
- Wikipage revision ID
- 1115013439
- WikiPageUsesTemplate
- Template:Reflist
- Template:Short description