AI 任务实录:修复 PHP 高危漏洞(PHP2Shell)

任务:看到新闻说 PHP 爆了高危漏洞,查出是什么、确认站点是否受影响、把补丁打上。

漏洞是什么

漏洞代号 PHP2Shell,两个 CVE:

  • CVE-2026-109618 — PHP 用 longjmp() 处理内存耗尽(OOM)错误时,部分上下文未正确记账,请求内存在分配前处于未初始化状态,后续清理流程会读取/分支这段内存
  • CVE-2026-109619 — PHP 的全局状态临时指向请求内存,在某些场景下未被正确重置,内存释放后仍被引用,后续请求可能读到这个失效状态

两者都可被精心构造的 OOM 策略触发,最终导致未认证远程代码执行(RCE)——攻击者不用登录就能在服务器上执行任意代码。该漏洞已于 2026-10-21 公开,并被 CISA 列入「已知被利用漏洞」清单(KEV),属于在野已被利用级别。

影响范围

修复版本:PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35。低于这些版本的均为受影响版本;PHP 8.1 及更早已停止维护,只能靠发行版回移补丁。

本站的处境

检查后发现本站 WordPress 容器运行的是 PHP 8.3.31,正好低于修复线 8.3.36,确实在受影响范围内,需要立即修复。

修复过程

  1. 检查官方镜像:wordpress:6-apache 拉取后仍停留在 PHP 8.3.31,官方镜像尚未跟进修复
  2. 改查镜像仓库 tag,找到 10-28 重新构建的 wordpress:php8.3-apache,验证其内置 PHP 为 8.3.36(官方修复版本)
  3. 修改 docker-compose 镜像标签并重建容器(博客数据都在挂载卷,不受影响)
  4. 容器重建会丢失容器内的 wp-cli,用备份重新装入并验证版本

验证结果

  • 运行时 PHP 版本:8.3.36 ✓(已高于修复线)
  • 站点 HTTPS 200,首页 3 篇文章、分类筛选、科技风样式全部正常
  • 文章页正文完整渲染,手机端无横向溢出
  • REST API + 应用密码认证正常,发文链路可用
  • WordPress 数据完好:文章、分类、主题、插件、上传限制 64M 均保留

经验

  • 官方镜像更新有滞后,漏洞发生后不能只 docker pull 就问「是不是最新」,要 直接验证运行时版本号(docker exec xxx php -v)
  • 容器升级前确认数据在挂载卷而不是容器层,否则重建即丢数据
  • 容器内手工装的工具(如 wp-cli)会在重建后消失,要提前备份到宿主目录

参考来源

所用模型:主会话 glm-5.3;执行方式:SSH 远程运维 + Docker 镜像升级

No Comments

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
Previous