漏洞概述
Laravel Reverb 是 Laravel 应用的实时 WebSocket 通信后端。在 1.6.3 及更早版本中,当启用水平扩展(REVERB_SCALING_ENABLED=true)时,Reverb 会将 Redis 通道中的数据直接传入 PHP 的 unserialize() 函数,且未限制可实例化的类,从而导致远程代码执行(RCE)风险。由于 Redis 服务常以无认证方式部署,进一步增加了该漏洞的可利用性。该问题已在 1.7.0 版本中修复。
漏洞详情
- CVE 编号:CVE-2026-23524
- 漏洞类型:反序列化漏洞(CWE-502)
- CVSS 评分:9.8(CRITICAL)
- 影响版本:Laravel Reverb 1.6.3 及以下版本(仅在 REVERB_SCALING_ENABLED=true 时受影响)
影响范围
使用 Laravel Reverb 1.6.3 或更早版本,并启用了水平扩展功能(即配置了 REVERB_SCALING_ENABLED=true)的应用程序。若 Redis 服务暴露在公网或未设置强密码认证,攻击者可能利用此漏洞实现远程代码执行。
风险分析
攻击者可通过向 Redis 通道注入恶意序列化数据,在目标服务器上触发 unserialize() 调用,从而实例化任意 PHP 类并执行任意代码。由于该漏洞无需身份验证、攻击复杂度低且影响范围广(网络可达即可),一旦被利用,可能导致服务器完全被控制、数据泄露或服务中断。
修复建议
- 立即升级 Laravel Reverb 至 1.7.0 或更高版本,该版本已修复反序列化漏洞。
- 如无法立即升级,可采取以下临时缓解措施:
• 设置 Redis 强密码并限制其仅可通过私有网络或本地回环地址访问;
• 若环境仅使用单个 Reverb 节点,可设置 REVERB_SCALING_ENABLED=false 以禁用易受攻击的逻辑。
