Security vulnerabilities and automated fixes for use after free issues
5 posts found
A critical use-after-free vulnerability was discovered and patched in `zmap.h`, where freed memory pointers were not reset to a safe state after deallocation in the `map` destructor and move-assignment operator. This oversight allowed subsequent code paths — including destructors, iterators, and concurrent threads — to access memory that had already been returned to the allocator, creating a condition exploitable for arbitrary code execution. The fix, a two-line change adding `inner = {};` after
A critical memory safety vulnerability was discovered and fixed in the Linux kernel's SSDFS filesystem driver, where directly assigning the return value of krealloc() to the original pointer could cause use-after-free conditions or NULL pointer dereferences when memory allocation fails. This well-known dangerous pattern, explicitly warned against in Linux kernel coding guidelines, could allow attackers to trigger memory corruption under low-memory conditions. The fix implements the safe temporar
A critical vulnerability chain discovered in `src/trie/trie.c` combines heap buffer overflows and use-after-free bugs into a complete process compromise exploit. By corrupting glibc memory allocator metadata, an attacker could hijack execution flow and achieve arbitrary code execution. This post breaks down how these primitives chain together and what developers can do to prevent similar issues.
A critical use-after-free vulnerability was discovered and patched in the multi-threaded ICMP processing path of a Windows/Cygwin network probing library, where freed memory pointers were not nullified, creating a dangerous race condition between concurrent threads. Left unpatched, this flaw could allow attackers to corrupt heap metadata, potentially leading to arbitrary code execution or denial of service. The fix ensures that dangling pointers are eliminated immediately after memory is freed,
A critical use-after-free vulnerability was discovered in ESP32 firmware's display buffer allocation error handling. When memory allocation fails, freed pointers aren't nullified, creating dangling references that attackers can exploit through controlled heap manipulation. This vulnerability demonstrates why proper pointer hygiene is essential in embedded systems security.