When the memory for an object is deallocated, pointers to that object become invalid. Such pointers, known as dangling pointers, can be exploited by attackers to cause undesirable or malicious program behavior. A pointer that points to memory that has been reused (reallocated) is known as a use-after-free pointer; these, too, are gateways to exploits. This disclosure describes techniques to track pointers in runtime and periodically test pointers to determine if they are pointing to deallocated or reallocated memory regions. Upon the discovery of pointers pointing to deallocated or reallocated memory, security breaches are forestalled by causing a program crash accompanied by a bug report.
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.
Hara, Kentaro, "Automatic Sanitization of Use-After-Free Pointers", Technical Disclosure Commons, (January 04, 2021)