stb图像库整数溢出导致堆缓冲区溢出破坏系统完整性
攻击者可利用处理精心构造的16位图像时存在的整数溢出缺陷,在通道转换过程中计算分配大小时未进行安全校验,导致实际分配的堆内存远小于写入数据量。当应用调用加载接口并请求特定颜色通道输出时,恶意输入触发算术运算回绕,进而引发严重的堆缓冲区溢出,使受控进程面临代码执行风险及系统可用性中断威胁。
组件
stb_image.h是一款轻量级单头文件图像处理库,其架构设计旨在为应用程序提供高效的图像解码能力,支持PNG、PSD及PNM等多种常见格式解析。该组件通过简化内存管理与解码流程,服务于各类需要快速加载和转换图像数据的软件系统,核心功能聚焦于将原始图像数据转换为标准化的像素阵列以便后续渲染或处理。
类型
Integer Overflow or Wraparound (CWE-190)
仓库
github.com/nothings/stb
Star 34991
处置建议
- 应在涉及图像维度与通道数乘法的内存分配逻辑中统一采用防溢出封装函数,对所有乘法操作结果进行边界检查,确保计算出的字节大小不会发生整型截断或回绕,从而杜绝因尺寸估算错误导致的缓冲区越界写入问题。
