7 月 30 日的安全批次发布了 8.5.9 / 8.4.24 / 8.3.33 / 8.2.33 四个版本,核心修复包括 gd libgd 组件升级(cve-2026-9672)、pgsql sql 注入(cve-2026-17543)、phar 递归符号链接崩溃(cve-2026-7260)与 bcmath 越界写(cve-2026-17544)。

▲ 事件来源页面实时截图:oss-sec 邮件列表
当前状态
这批修复已被后续 9 月与 10 月批次全部包含。仍在 7 月版本的部署建议直接升级到当前最新(8.5.12 / 8.4.27 / 8.3.36 / 8.2.35),无需逐级跳跃。
7 月批次的定位
8.5.9 / 8.4.24 / 8.3.33 / 8.2.33 是 2026 年 7 月的多分支安全发布,与 9 月、10 月批次相互独立,修复内容不重叠。把它理解为「同一年度内的第三次全分支体检」更准确:每个批次覆盖当时已确认的问题集合。
历史版本还要不要升
不必逐批次跨越,直接安装当前分支最新补丁版本即可累计覆盖。仍停留在 7 月之前版本的环境,风险并不只来自某一个 CVE,而是累积的多类问题;升级时应连带检查 php.ini 中已废弃的配置项,避免旧配置在新版本上产生告警。
修复补丁(官方提交)
该问题由 php-src 官方提交 fcd691b377d0 修复(2026-07-28),提交说明为「libgd patch for CVE-2026-9672」。改动涉及 1 个源码/测试文件,核心变更如下:
ext/gd/libgd/gd_gif_in.c
@@ -450,7 +450,7 @@ LWZReadByte_(gdIOCtx *fd, LZW_STATIC_DATA *sd, char flag, int input_code_size, i
sd->table[1][i] = i;
}
for (; i table[0][i] = sd->table[1][0] = 0;
+ sd->table[0][i] = sd->table[1][i] = 0;
sd->sp = sd->stack;
@@ -494,6 +494,8 @@ LWZReadByte_(gdIOCtx *fd, LZW_STATIC_DATA *sd, char flag, int input_code_size, i
if (count != 0)
return -2;
+
+ return -2;
}
incode = code;
@@ -560,7 +562,7 @@ ReadImage(gdImagePtr im, gdIOCtx *fd, int len, int height, unsigned char (*cmap)
int v;
int xpos = 0, ypos = 0, pass = 0;
int i;
- LZW_STATIC_DATA sd;
+ LZW_STATIC_DATA sd = {0};
▲ 补丁片段摘自 php-src 官方仓库该提交
完整补丁与测试用例可在 php-src 仓库该提交页面查看:https://github.com/php/php-src/commit/fcd691b377d02285740744bee17c0f298be227d5

▲ 官方公告页配图

▲ 官方修复提交页面截图

▲ php.net 官方版本页面截图
关键信息
| 项目 | 内容 |
|---|---|
| 类目 | 补丁修复 |
| 级别 | 高 |
| 日期 | 2026-07-30 |
| 关联编号 | CVE-2026-9672 / 17543 / 7260 / 17544 |
| 影响范围 | 8.5 / 8.4 / 8.3 / 8.2 |
| 核验状态 | 双源交叉核实 |
| 修复提交 | fcd691b377d0(php-src) |
来源:https://seclists.org/oss-sec/2026/q3/354











