Use After Free specifically refers to the attempt to access memory after it has been freed, which can cause a program to crash or, in the case of a Use-After-Free flaw, can potentially result in the execution of arbitrary code or even enable full remote code execution capabilities.
The Specifics of Use-After-Free Memory Corruption
According to the Use After Free definition on the Common Weakness Enumeration (CWE) website, a Use After Free scenario can occur when “the memory in question is allocated to another pointer validly at some point after it has been freed. The original pointer to the freed memory is used again and points to somewhere within the new allocation. As the data is changed, it corrupts the validly used memory; this induces undefined behavior in the process.”
Use After Free Flaws and Microsoft’s IE Browser
Use After Free flaws have gained attention in recent years, particularly in association with Microsoft and its Internet Explorer web browser, which has received numerous security patches to update a variety of Use-After-Free security vulnerabilities.