buffer overflow(缓冲区溢出):在计算机程序中,把超过缓冲区(buffer)容量的数据写入内存,导致覆盖相邻内存的现象。它可能引发程序崩溃、数据被篡改,严重时可被利用为安全漏洞(例如执行恶意代码)。常见类型包括栈溢出(stack-based)与堆溢出(heap-based)等。
/ˈbʌfər ˌoʊvərˈfloʊ/
The program crashed because of a buffer overflow.
程序因为缓冲区溢出而崩溃了。
If the input isn’t length-checked, a buffer overflow vulnerability can allow an attacker to overwrite memory and potentially take control of execution.
如果没有对输入长度进行检查,缓冲区溢出漏洞可能让攻击者覆盖内存,甚至潜在地控制程序的执行流程。
buffer 原义与“缓冲、减震、缓冲空间”相关,在计算机领域引申为“用于临时存放数据的内存区域(缓冲区)”。overflow 由 over-(超过)+ flow(流动) 组成,字面义是“溢出”。合在一起,buffer overflow 直观表示“数据多到从缓冲区里溢出来”,并在计算机安全语境中固定为“缓冲区溢出(漏洞/问题)”。