CyberGlossary

漏洞

整数溢出

别称: 整数回绕

定义

算术运算产生超出整数类型可表示范围的结果,以回绕或截断的方式带来安全关键影响的缺陷。

整数溢出发生在计算结果超过整数类型可容纳的最大或最小值,导致回绕、符号翻转或截断。当错误的数值随后被用作缓冲区大小、循环计数、数组下标或授权检查时,常引发缓冲区溢出、无限循环或绕过限制等安全问题。防御措施包括受检算术(如 Rust 的 checked_add、C23 的 ckd_*、编译器选项 -ftrapv)、先扩展再截断并显式做范围检查、根据数据选择合适的类型,以及深入的模糊测试。在图像编解码、字体解析器与内核中,许多高危 CVE 都源于整数溢出链。

示例

  • CVE-2002-0639(OpenSSH challenge-response):整数溢出导致堆破坏。
  • CVE-2018-9568(Android Wi-Fi):802.11 帧处理中的整数溢出。

相关术语