漏洞概述

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 以禁用易受攻击的逻辑。

参考链接