针对 PHP CVE-2026-109618、CVE-2026-109619 两项严重安全漏洞的说明
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
上个月PHP出现了PHP CVE-2026-109618、CVE-2026-109619 两项严重安全漏洞,官方到也发布了漏洞的修补,都是新版本,有些老版本的PHP就没办法处理,然而宝塔干了一下修补的事儿
一、本次 PHP 官方披露的两项漏洞分别说明
CVE-2026-109618:内存耗尽处理异常导致远程代码执行
PHP 在处理内存耗尽(OOM)异常时,可能导致部分内部请求数据未正确初始化,并在后续清理过程中被错误使用,进而产生远程代码执行风险。
CVE-2026-109619:全局状态残留导致远程代码执行
PHP 在处理请求时,部分内部状态可能在关联内存释放后继续保留。当同一工作进程处理后续请求时,可能错误使用这些失效数据,从而引发远程代码执行风险。
根据 PHP 官方公告,本次漏洞影响通过 PHP 处理 Web 请求的多种运行环境,包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 及 LiteSpeed 等。
其中,PHP 官方认为 Apache mod_php 的风险尤其突出,已存在未经身份验证的请求在应用程序代码运行前触发漏洞的验证案例。
二、安装 PHP 安全补丁
安装 PHP 安全补丁无需先升级宝塔面板。Linux 的 PHP 7 和 PHP 8 修复版本均可通过软件商店升级;PHP 5.4、5.5、5.6 修复版目前开放测试,更新命令及验证说明见下文。请先检查网站实际使用的 PHP 版本,再选择对应的更新方式。
PHP 安全修复版本
本次漏洞已提供的修复版本及测试版本如下,请留意各版本的适用说明。PHP 8.2 至 8.5 为 PHP 官方修复包,PHP 8.0、8.1、PHP 7 及 PHP 5 为宝塔修复包。
未使用宝塔面板的用户,也可从下表下载对应分支的源码包,按原有构建方式编译更新。请保留原有编译参数、扩展及配置,并在测试环境验证后再用于业务。下载链接均为 .tar.gz 源码包;Windows 面板用户请按 Windows 修复说明操作。
| PHP 分支 | 修复版本 | 适用说明 | 源码包下载 |
|---|---|---|---|
| PHP 8.5 | 8.5.12 | PHP 官方安全修复版,Linux 与 Windows 面板均已同步 | 下载源码包 |
| PHP 8.4 | 8.4.27 | PHP 官方安全修复版,Linux 与 Windows 面板均已同步 | 下载源码包 |
| PHP 8.3 | 8.3.36 | PHP 官方安全修复版,Linux 与 Windows 面板均已同步 | 下载源码包 |
| PHP 8.2 | 8.2.35 | PHP 官方安全修复版,Linux 与 Windows 面板均已同步 | 下载源码包 |
| PHP 8.1 | 8.1.35 | 宝塔打包的 Linux 修复版 | 下载源码包 |
| PHP 8.0 | 8.0.31 | 宝塔打包的 Linux 修复版 | 下载源码包 |
| PHP 7.4 | 7.4.34 | 宝塔打包的 Linux 修复版 | 下载源码包 |
| PHP 7.3 | 7.3.34 | 宝塔打包的 Linux 修复版,可通过软件商店更新 | 下载源码包 |
| PHP 7.2 | 7.2.35 | 宝塔打包的 Linux 修复版,可通过软件商店更新 | 下载源码包 |
| PHP 7.1 | 7.1.34 | 宝塔打包的 Linux 修复版,可通过软件商店更新 | 下载源码包 |
| PHP 7.0 | 7.0.34 | 宝塔打包的 Linux 修复版,可通过软件商店更新 | 下载源码包 |
| PHP 5.6 | 5.6.42 | 宝塔 AI 修复版,开放测试;暂通过命令更新 | 下载源码包 |
| PHP 5.5 | 5.5.40 | 宝塔修复版,开放测试;暂通过命令更新 | 下载源码包 |
| PHP 5.4 | 5.4.47 | 宝塔修复版,开放测试;暂通过命令更新 | 下载源码包 |
针对已停止 PHP 官方安全维护的 PHP 7.4、8.0、8.1,宝塔已应用 PHP 官方提供的回补补丁,完成 Linux 修复包打包并提供面板内升级,便于仍依赖旧版 PHP 的用户及时处置本次漏洞。Windows 的 PHP 8.1 及更早版本当前需修改配置、禁用相关功能进行临时缓解,并尽快规划迁移至受支持的 PHP 分支及对应安全修复版本。
PHP 7.0 至 7.3 的修复包由宝塔基于 PHP 7.4 的官方补丁逐行比对、回移适配,现已支持面板内更新。 上述旧版 PHP 均已停止 PHP 官方安全维护,仍建议尽快规划迁移至受支持的版本。
针对 PHP 严重安全漏洞,宝塔已提供多个 PHP 分支的安全修复包。Linux PHP 7、PHP 8 修复版本已上线面板软件商店,PHP 5.4、5.5、5.6 修复版目前开放测试。
PHP 5.4:更新至 5.4.47 宝塔修复版
curl -fL -o php5_cve.sh https://download.bt.cn/install/php5_cve.sh && bash php5_cve.sh update 54
PHP 5.5:更新至 5.5.40 宝塔修复版
curl -fL -o php5_cve.sh https://download.bt.cn/install/php5_cve.sh && bash php5_cve.sh update 55
PHP 5.6:更新至 5.6.42 宝塔 AI 修复版
curl -fL -o php5_cve.sh https://download.bt.cn/install/php5_cve.sh && bash php5_cve.sh update 56
未使用宝塔面板的用户,也可从下表下载对应分支的源码包,按原有构建方式编译更新。请保留原有编译参数、扩展及配置,并在测试环境验证后再用于业务。
三、下面以7.4.34作为实例
一、获取宝塔原有 PHP7.4 编译参数(必做)
/www/server/php/74/bin/php -i | grep Configure
把输出的一长串 ./configure --prefix=xxx ... 复制保存,后面要用
二、完整一键命令(CentOS,宝塔环境)
1、 进入源码目录
cd /usr/local/src
2、 下载宝塔修复版php7.4.34源码
wget https://download.bt.cn/src/php-7.4.34.tar.gz
3、 解压
tar zxf php-7.4.34.tar.gz
cd php-7.4.34
4、 清理上次编译残留(报make install报错先执行这个!)
make clean
rm -f Makefile
5、 【直接复制下面整段configure,不要改!】
./configure \
--prefix=/www/server/php/74 \
--with-config-file-path=/www/server/php/74/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir \
--with-freetype \
--with-jpeg \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--enable-intl \
--enable-pcntl \
--enable-ftp \
--enable-gd \
--with-openssl \
--with-mhash \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache \
--with-sodium=/usr/local/libsodium \
--with-webp \
PKG_CONFIG_PATH=/usr/local/curl/lib/pkgconfig:/usr/local/openssl/lib/pkgconfig:/usr/local/icu/lib/pkgconfig:
6、 编译(-j后面数字=CPU核数,一般 -j4 或者 -j8)
make -j4
7、 覆盖安装(重点!直接覆盖原有/www/server/php/74)
make install
8、执行修改命令(宝塔 PHP7.4,ini 路径 `/www/server/php/74/etc/php.ini`)
sed -i 's/^;*session.upload_progress.enabled.*/session.upload_progress.enabled = 0/' /www/server/php/74/etc/php.ini
# 关闭session上传进度漏洞(你前面要关的项)
sed -i 's/^session.upload_progress.enabled = On/session.upload_progress.enabled = 0/' /www/server/php/74/etc/php.ini
# 重启php-fpm
/etc/init.d/php-fpm-74 restart
# 验证版本 + 检查配置
/www/server/php/74/bin/php -v
/www/server/php/74/bin/php -i | grep session.upload_progress.enabled
9、**依赖缺失会导致 configure 报错**,缺少包先装:
yum install libcurl-devel libpng-devel libjpeg-devel freetype-devel libicu-devel openssl-devel libsodium-devel libwebp-devel
更多可参阅宝塔社区文章:
https://docs.bt.cn/notices/php-security-protection-guide/?utm_source=bbs
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!
支付宝赞助
微信赞助
