文章目录
环境
系统平台:N/A
版本:9.0.3,9.0.4,9.0.5,4.5.8,4.5.10,4.5.11,6.0.4
BUG/漏洞编码
HGVE-2026-E008
症状
PostgreSQL 多个服务器功能中的整数回绕,允许应用输入提供者使服务器分配过小的内存并发生越界写入。这会导致段错误。PostgreSQL 18.4、17.10、16.14、15.18 和 14.23 之前的版本受影响。
触发条件
漏洞根因是多个服务端功能在计算内存分配大小时存在整数回绕。攻击者构造特定长度或数量的输入,使分配尺寸计算结果回绕为较小值。服务器随后按过小尺寸分配内存,但后续写入逻辑仍按较大数据量写入,从而导致越界写入和段错误。
解决方案
代码修复应对所有涉及长度、数量和乘法计算的内存分配路径增加整数溢出检查,使用安全的尺寸计算函数或显式判断加法、乘法是否超过Size/MaxAllocSize 上限。分配前应校验输入长度和元素数量,分配后写入逻辑必须与已分配缓冲区大小保持一致。修复后应增加边界值和超大输入回归测试,确认异常输入被拒绝而不是触发越界写入。
安装漏洞补丁包。 下载地址:
v9.0.3,v9.0.4,v9.0.5 :
链接: https://pan.baidu.com/s/15nI0Vgxmy5Yy-hCspSOm2g?pwd=qx2e 提取码: qx2e
V4.5.8,V4.5.10,V4.5.11,V6.0.4:
链接: https://pan.baidu.com/s/1wbOp7Qhb8-pepw7ko63zag?pwd=b56y 提取码: b56y 。