缓冲区溢出(bufferoverflow),是针对程序设计缺点,向程序输入缓冲区写入使之溢出的内容(通常是超过缓冲区能保存的最大数据量的数据)从而破坏程序运行并获得程序乃至系统的控制权。

缓冲区溢出原指当某个数据超过了处理程序限制的范围时,程序出现的异常操作。造成此现象的缘由有:存在缺点的程序设计。特别是C语言,不像其他1些高级语言会自动进行数组或指针的边界检查,增加溢出风险。C语言中的C标准库还具有相当1些非常危险的操作函数,使用不当也为溢出创造条件。