CVE-2025-54068 — Laravel Livewire v3 远程代码执行漏洞 完整分析

CVE-2025-54068 — Laravel Livewire v3 远程代码执行漏洞 完整分析

一、基本信息

项目内容
CVE IDCVE-2025-54068
QVD IDQVD-2025-28233
CNNVD IDCNNVD-202507-2331
漏洞类型反序列化 → 远程代码执行 (RCE)
CWECWE-502(不可信数据反序列化)
影响产品Laravel Livewire v3(全栈前端框架)
影响版本3.0.0 ≤ Livewire < 3.6.4
修复版本Livewire v3.6.4
披露日期2025-07-17
漏洞作者发现Synacktiv 安全团队

二、风险定级

评分体系分数向量
CVSS 3.19.8(极危)AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
奇安信 QVC10.0(极危)
EPSS0.95247(百分位 99.86%)接近必被利用

关键特征

  • 无需认证(PR:N
  • 无需用户交互(UI:N
  • 攻击复杂度低(AC:L
  • CISA KEV 已收录,确认在野利用
  • 公开 PoC / EXP 均已发布
  • 已修复(补丁存在于 v3.6.4)

三、漏洞原理(利用链分析)

#### 根因:组件反序列化中的 PHP 对象注入(CWE-502)

Livewire v3 的组件hydrate/update机制在处理**组件快照(snapshot)**时,未充分校验用户传入的序列化数据,攻击者可以构造恶意的 PHP 序列化 payload 触发反序列化,最终实现远程代码执行。

攻击链(三步):
Step 1:探测目标是否存在 Livewire 组件 └─ GET / → 提取 wire:snapshot、csrf_token、data-update-uri Step 2:发送恶意更新请求到 /livewire/update └─ POST + 篡改的 snapshot(含恶意序列化 payload) │ ▼ Step 3:PHP 反序列化 → 触发魔术方法链 └─ __toString() → BroadcastEvent → PendingBroadcast → Validator (extensions) → system() 回调 ⬇ **任意命令执行**
关键 Gadget Chain:
┌─ __toString (触发点) │ ↓ ├─ Illuminate\Broadcasting\BroadcastEvent │ ↓ ├─ Illuminate\Broadcasting\PendingBroadcast │ ├─ events → Validator │ │ └─ extensions → "system" (函数名) │ └─ event → <要执行的命令字符串> │ ↓ └─ system("命令") → RCE

该漏洞无需依赖特定 Livewire 组件的存在——只要站点使用了 Livewire v3 即可被攻击。

四、PoC 检测模板(Nuclei)

已有一个完整的Nuclei 检测模板(作者: flame-11,已 verified,max-request=3):

第一步:获取页面特征— 提取wire:snapshot、CSRF token、update URI、参数名

第二步:发送合法更新— 拿到签名后的 snapshot

第三步:注入恶意 payload— 发送带反序列化 gadget chain 的 payload,通过 OOB(HTTP 回连)验证 RCE

> 公开 PoC 工具Livepyre已由 Synacktiv 发布:https://github.com/synacktiv/Livepyre> > 详细技术报告:https://www.synacktiv.com/en/publications/livewire-remote-command-execution-through-unmarshaling

Shodan 搜索指纹html:"wire:id"(全球暴露面可观)

五、漏洞影响

  • 影响范围:全球约10,000+受影响资产(奇安信漏洞库估算)
  • 攻击面:所有使用livewire/livewire ^3.0的 Laravel 应用,无需认证即可远程利用
  • 危害等级完全控制 Web 服务器(读文件、安装后门、横向移动、数据窃取)
  • 在野利用:已被 CISA KEV 收录,确认存在真实攻击活动

六、修复与缓解措施

立即升级(首选)

code

composer require livewire/livewire:^3.6.4

或手动更新composer.jsoncomposer update livewire/livewire

临时缓解方案(升级前)
  1. WAF 规则:拦截/livewire/update端点中包含__toStringBroadcastEventPendingBroadcastchained等特征载荷的 POST 请求 2.访问控制:对/livewire/update端点添加 IP 白名单或认证鉴权 3.禁用反序列化类白名单:在 PHP 中配置allowed_classes白名单限制 4.监控告警:关注异常的反序列化异常日志和system/exec/passthru等危险函数调用

七、参考链接

来源链接
GitHub Security AdvisoryGHSA-29cq-5w36-x7w3
补丁 commitef04be759da41b14d2d129e670533180a44987dc
修复版本发布v3.6.4 Release
CISA KEVCISA Catalog
PoC 工具 (Livepyre)Synacktiv/Livepyre
技术细节文章Synacktiv 分析
Nullcon 演讲Slides
NVDNVD Detail

总结

CVE-2025-54068是 Laravel Livewire v3 的极危 RCE 漏洞(CVSS 9.8),源于组件快照反序列化过程中对用户输入的校验缺失。攻击者可利用 PHP 原生类 gadget chain(BroadcastEvent → PendingBroadcast → Validator → system())在无需认证的情况下远程执行任意命令。目前已确认在野利用、公开 PoC/EXP 已扩散,任何使用livewire/livewire ^3.0的应用都应立即升级至 v3.6.4