加载中...

释放后使用(Use-After-Free,UAF)是一类内存安全漏洞。当一块动态分配的内存被释放后,程序仍持有并使用指向它的指针(悬空指针),而该内存可能已被重新分配为其他用途,从而导致未定义行为。
攻击者可通过精心的内存布局(堆风水),在释放与再次使用之间用可控数据占据被释放的内存块。当程序读取或调用该内存中的内容(如虚函数指针)时,便可能被劫持控制流,实现信息泄露或任意代码执行。
缓解措施包括:释放后将指针置空、使用智能指针管理生命周期、启用内存分配器的加固特性,以及在测试阶段用AddressSanitizer等工具检测。采用Rust等具备内存安全保证的语言可从根本上规避此类问题。

登录 后参与讨论
暂无讨论,来发表第一条评论吧