最新消息:走过的,离开的,已经错过,新开始2016

lnmp源码编译更新修复PHP7.4漏洞

技术随笔 果果 12浏览 0评论


大晚上阿里云通报PHP出现重大安全漏洞,还是紧急的。
今天看了一下 https://www.aliyun.com/notice/118746

PHP 官方发布安全公告,披露了两个远程代码执行漏洞(CVE-2026-109618、CVE-2026-109619)。未经身份验证的远程攻击者可通过发送特制的 HTTP 请求(如 multipart POST 请求)触发内存破坏,在服务器上执行任意代码。漏洞在请求进入业务代码之前即可触发,一定条件下,PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed 等处理 Web 请求的部署方式将受影响。

可以执行任意代码,确实危险。
看到说明是官方只维护8.2以后的版本,但是之前的版本在GitHub上给出了源码,这还是不错的。
现在来修复一台古老的用lnmp脚本安装的php7.4.

研究了一下,执行lnmp里面的upgrade.sh,按说明输入源码tar包版本就能升级,这还是很简单的。
下面说说具体方法。
GitHub上下下载源码

wget https://codeload.github.com/php/php-src/zip/refs/heads/PHP-7.4-CVE-2026-109618-109619

它是GitHub仓库快照(php-src 的 7.4 分支),不是官方release包,里面没有configure,也没有 Zend/zend_language_scanner.c、zend_language_parser.c 这些预生成文件,必须用 buildconf + bison + re2c 现场生成。

cd /root/lnmp1.9/src                 # 换成你的 cur_dir/src
yum install -y unzip autoconf bison re2c pkgconfig   # Debian/Ubuntu: apt install -y ...
unzip -q php-src-PHP-7.4-CVE-2026-109618-109619.zip
mv php-src-PHP-7.4-CVE-2026-109618-109619 php-7.4.34    # 目录名必须是 php-<版本号>

cd php-7.4.34
chmod +x buildconf && chmod +x build/*.sh
./buildconf --force                  # 生成 configure
ls -l configure                      # 确认存在
cd ..
tar cjf php-7.4.34.tar.bz2 php-7.4.34   # 文件名必须是 php-<版本号>.tar.bz2

然后执行./upgrade.sh,版本号输入7.4.34。检测到本地包已有,脚本会跳过下载。
完成后执行php -v 查看版本信息。

重要:升级有风险,正式环境请慎重评估风险。

转载请注明:果果.IT » lnmp源码编译更新修复PHP7.4漏洞

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址