缓冲区过读 在计算机安全和程序设计中缓冲区过读是一类程序错误即程序从緩衝器读出数据时超出了边界而读取了或试图读取相邻的内存这是有违内存安全的動作 通过构造恶意输入使得缺乏边界检查的程序读取不该访问到的内存可以触发缓冲区过读如心脏出血漏洞中所出現的情形引发此一錯誤的原因也可能仅仅是编程中的错误这可能会导致异常的程序行为包括内存访问错误不正确的结果崩溃英语crash computing或系统安全性损害因而有许多漏洞都因其而生还可能被恶意利用以访问特权信息 通常与缓冲区过读相联系的编程语言语言包括C和C这些语言都没有提供内置的保护机制以防止使用指针访问虚拟内存任意位置的数据并且不会自动检查读取该内存块的数据是否安全对应的例子如试图读取比数组更多的元素以及没有向空终止字符串英语nullterminated string末尾追加终止符边界检查可以防止缓冲区过读而模糊测试有助于检测出这些错误