安全公告:PHP 核心高危漏洞(PHP2Shell)影响禅道运行环境,请尽快升级补丁!

原创置顶
摘要:本次漏洞不在禅道自身代码中,而位于禅道所依赖的 PHP 运行时。因此必须完成 PHP 运行时的修复。为了保障您的系统安全,防止潜在的安全风险,我们强烈建议您尽快下载并安装最新的补丁。以下是补丁下载链接及临时解决方案。

尊敬的禅道用户:

2026 年 10 月 21 日,PHP 官方紧急发布安全更新,修复两个位于 PHP 解释器内核的高危漏洞(CVE-2026-109618、CVE-2026-109619,社区合称 PHP2Shell,CVSS v4.0 评分 9.2,等级为严重)。攻击者无需登录、无需任何交互,即可在受影响的服务器上执行任意代码;即使不取得代码执行权限,也可读取 PHP 工作进程内存中的密码、Token、密钥等敏感数据。

因软件都是私有部署的版本,我们无法一一发消息提醒,特此以公告形式告知大家。


需要特别说明的是:本次漏洞不在禅道自身代码中,而位于禅道所依赖的 PHP 运行时。因此必须完成 PHP 运行时的修复。

为了保障您的系统安全,防止潜在的安全风险,我们强烈建议您尽快下载并安装最新的补丁。以下是补丁下载链接及临时解决方案。


一、Windows一键安装包补丁

仅适用于php7.4版本,可以查看ZenTao\bin\php\php.exe属性中的详细信息中获取php版本号,补丁安装步骤如下:

  1. 下载已经修复的PHP程序压缩包(php.zip):https://dl.zentao.net/patches/php.zip
  2. 找到本地禅道集成运行环境的目录,比如 D:\ZenTao
3. 进入ZenTao目录下的 bin 子目录,备份bin目录下的php程序目录,比如改名叫 php_bak,将 php.zip 放到bin目录下解压,得到新的php程序目录:
4. 检查一下php目录文件是否完整。
5. 确认无误后,在一键安装包面板停止禅道服务,再启动服务即可。



6. 访问禅道页面,看看有无报错。


二、Linux 一键安装包补丁

执行以下命令安装

# amd64
cd /tmp
wget https://dl.zentao.net/patches/zbox-php74-php2shell-patch-20261022-linux-amd64.tar.gz
tar -xzf zbox-php74-php2shell-patch-20261022-linux-amd64.tar.gz
cd zbox-php74-php2shell-patch-20261022-linux-amd64
sha256sum -c SHA256SUMS
./install.sh --check
sudo ./install.sh
# arm64
cd /tmp
wget https://dl.zentao.net/patches/zbox-php74-php2shell-patch-20261022-linux-arm64.tar.gz
tar -xzf zbox-php74-php2shell-patch-20261022-linux-arm64.tar.gz
cd zbox-php74-php2shell-patch-20261022-linux-arm64
sha256sum -c SHA256SUMS
./install.sh --check
sudo ./install.sh

注意事项

  • 补丁仅适用于 PHP 7.4.33 版本的 Linux amd64 / arm64 一键安装包(可以通过执行 /opt/zbox/bin/php -v 查看版本号)。
  • 如果 sha256sum -c SHA256SUMS 失败,请停止安装并重新下载。
  • 如果 ./install.sh --check 提示基线不一致或文件缺失,请停止安装。下载 22.6 系列的 Linux amd64 / arm64 一键安装包,将禅道迁移至新的一键安装包后安装补丁。
  • 安装期间 ZBox 会短暂停止;请安排维护窗口并提前通知用户。
  • 如果安装前 Zbox 正在运行,脚本会先停止服务再更新文件,更新完成后会启动服务。
  • 如果安装前 ZBox 没有运行,脚本只更新文件,不会主动启动服务。
  • 安装脚本会备份原文件并生成回滚脚本,脚本路径为 /opt/zbox/backup/php2shell-<时间>/rollback.sh。安装或启动失败时会自动恢复;如问题持续,请使用生成的脚本回滚并联系技术支持。

三、非禅道官方一键安装包、非禅道官方docker镜像安装的环境

1、禅道升级到21.7.9及更新版本。

2、php版本升级到8.1版本(如果是禅道收费版本,需要联系客服获取php8.1版本的禅道包)。

四、临时处理方案

其他部署方式或者不方便立刻安装补丁包的用户,建议先采用如下的临时解决方案。

  1. 设置 memory_limit=-1 ,最好是以一种应用程序无法覆盖的方式,比如通过 FPM 池或 Apache 配置中的 php_admin_value 来实现。

    PHP-FPM 配置方法

    • 找到 Pool 配置文件:通常位于 /etc/php-fpm.d/www.conf(CentOS/RHEL)或 /etc/php/8.x/fpm/pool.d/www.conf(Ubuntu/Debian)。
    • 添加或修改配置行:
      php_admin_value[memory_limit] = -1
    • 重启 PHP-FPM 服务使配置生效:
      # CentOS/RHEL
      systemctl restart php-fpm
      # Ubuntu/Debian (版本号可能不同)
      systemctl restart php8.1-fpm
      

    Apache 配置方法

    • 修改 Apache 虚拟主机配置
      <VirtualHost *:80>
          ServerName example.com
          DocumentRoot /var/www/html
          # 设置该站点的 PHP 内存无限制
          php_admin_value memory_limit -1
      </VirtualHost>
      
    • 重启 Apache 服务使配置生效:
      # CentOS/RHEL
      systemctl restart httpd
      # Ubuntu/Debian
      systemctl restart apache2
      
  2. 设置一个较小的数值 post_max_size 。对于不需要上传文件的应用,可以设置 post_max_size = 8M 。如果需要进行文件上传,则设置 post_max_size = 32M 。确保 upload_max_filesize 的值始终低于 post_max_size 。

    建议更改 php.ini、zentaopms/www/{.htaccess,.ztaccess}

  3. 设置 session.upload_progress.enabled=0 ,并重新启动每个工作进程。使用 php.ini,不要依赖 ini_set() 或 FPM .user.ini 。

五、其他注意事项

  • 建议同时排查同网段内其他使用 PHP 的系统、设备管理后台与第三方应用,本次漏洞影响的是 PHP 运行时本身,不限于禅道。
  • 如果您使用的是禅道收费版本,请直接联系贵公司系统运维人员进行确认和更新操作。
  • 感谢您对禅道的支持与信任。如有任何疑问或需要帮助,请随时联系我们的技术支持团队。
评论列表
😋
蔡姜林2026-10-22 18:09:20回复
仅升级 PHP 就可以了吗?这个是否还需要配合升级禅道版本?
回复
这个漏洞是php的漏洞,不是禅道漏洞,所以跟禅道的版本号没有关系,只需要升级php即可。
返回顶部
客服头像
魏中显
高级客户经理
客服微信
客服头像
魏中显
高级客户经理
1746749398
统一服务热线 4006-8899-23
gtm跟踪器
gtag
UET