漏洞描述:
代码无法处理ID数量超过STREAMID_STATIC_VECTOR_LEN的情况并且跳过了重新分配这会导致堆栈缓冲区溢出
攻击场景:
攻击者可利用该漏洞,在具备低权限访问条件(如可连接 Redis 服务的网络位置)的情况下通过构造特制的STREAMID数据包触发缓冲区溢出,进而实现远程代码执行
该漏洞源于Redis在处理Stream ID时未正确验证数据长度,当输入的ID数量超过STREAMID_STATIC_VECTOR_LEN 限制时,跳过了动态内存重分配,导致栈缓冲区溢出。攻击者可利用此漏洞在目标系统上执行任意代码,尤其是在未启用认证或暴露在公网的Redis实例中风险极高。
影响产品:
8.2.0 <= Redis < 8.2.3
修复建议:
补丁名称:
Rеdiѕ 缓冲区溢出漏洞的补丁-更新至最新版本8.2.3
文件链接:
https://github.com/redis/redis/releases/tag/8.2.3
建议措施:
立即升级:将Redis 版本升级至8.2.3或更高版本,以修复该漏洞。
限制网络访问:通过防火墙策略限制Redis端口(默认 6379)的访问范围,仅允许可信IP访问
启用认证机制:配置requirepass参数,强制使用密码认证避免匿名访问
禁用危险命令:在生产环境中禁用CONFIG、SCRIPT 等高风险命令
定期扫描:使用漏洞扫描工具对内部系统进行定期检测,识别未打补丁的Redis实例
作者简介:
廖维-前纳斯达克企业培训头部上市企业-云学堂高级安全总监兼CSO首席安全官,目前为独立安全研究员,喜欢研究一些安全技术,最近聚焦研究的方向为安全运营、办公网安全、应用安全、主机安全,无人机安全;

