stb圖像庫整數溢出導致堆緩衝區溢出破壞系統完整性
攻擊者可利用處理精心構造的16位圖像時存在的整數溢出缺陷,在通道轉換過程中計算分配大小時未進行安全校驗,導致實際分配的堆內存遠小於寫入數據量。當應用調用加載接口並請求特定顏色通道輸出時,惡意輸入觸發算術運算迴繞,進而引發嚴重的堆緩衝區溢出,使受控進程面臨代碼執行風險及系統可用性中斷威脅。
組件
stb_image.h是一款輕量級單頭文件圖像處理庫,其架構設計旨在為應用程序提供高效的圖像解碼能力,支持PNG、PSD及PNM等多種常見格式解析。該組件通過簡化內存管理與解碼流程,服務於各類需要快速加載和轉換圖像數據的軟件系統,核心功能聚焦於將原始圖像數據轉換為標準化的像素陣列以便後續渲染或處理。
類型
Integer Overflow or Wraparound (CWE-190)
倉庫
github.com/nothings/stb
Star 34991
處置建議
- 應在涉及圖像維度與通道數乘法的內存分配邏輯中統一採用防溢出封裝函數,對所有乘法操作結果進行邊界檢查,確保計算出的字節大小不會發生整型截斷或迴繞,從而杜絕因尺寸估算錯誤導致的緩衝區越界寫入問題。
