首页 > 数据库 >Redis 爆高危漏洞,请速度修复。。

Redis 爆高危漏洞,请速度修复。。

时间:2025-01-03 18:24:39浏览次数:5  
标签:脚本 redis 漏洞 爆高危 Redis Lua 版本

大家好,我是R哥。

今天一早收到了腾讯云给我的【主机安全】漏洞通知:

好家伙,大名鼎鼎的 Redis 爆高危漏洞了,R哥的题库「Java面试库」也用到了 Redis 来缓存面试题内容,所以这一下子就引起了我的警惕,赶紧看看什么鬼。

漏洞描述

下面是漏洞描述和修复说明:

https://github.com/redis/redis/security/advisories/GHSA-whxg-wx83-85p5

这次的漏洞是因为 Lua 库引起的,用户可能会使用特制的 Lua 脚本来触发堆栈缓冲区溢出,这可能会导致「远程代码执行」漏洞。

也就是说,所有带有 Lua 脚本的 Redis 版本(>= 2.8.18)都存在该漏洞,赶紧使用下面命令查看下你的 Redis 版本号:

$ redis-cli --version
redis-cli 7.2.5

我使用的是 Redis 7.2.5,也是受影响的版本。

Lua 扫盲:

Lua 是一种轻量级的脚本语言,Redis 中内置了 Lua 功能,可以直接运行 Lua 脚本。因为 Redis 的基本操作都是单个命令,但在某些场景下,可能需要多个操作组合成事务或执行复杂的逻辑,这时候 Lua 脚本就派上用场了,使用 Lua 脚本可以大大减少网络开锁。

说到 Lua 就不得不提 OpenResty,它是一个基于 Nginx 的高性能 Web 组件,其支持用 Lua 编写复杂逻辑,并提了许多精心编写的 Lua 模块,这就是它最大的亮点。

解决方案

升级最新安全版本

Redis 官方发布了 3 个漏洞补丁及修复版本:6.2.16, 7.2.6, 7.4.1,请评估业务是否受影响后,再酌情升级至安全版本,如果是 5.x 及以下的版本就不受支持了。

版本升级前,建议大家做好数据备份操作,云服务升级版本前最好先制作镜像/快照,避免升级不当导致数据丢失情况。

临时解决方案

1、开放指定 IP 地址

如果使用的是云服务,可以使用云上的安全组对 Redis 端口(默认:6379)设置只对指定的 IP 地址开放,如示例所示:

注意,来源这一项不要再勾选全部 IP 地址。

2、设置密码访问

强制对 Redis 实例的所有访问使用凭据,这个可以通过配置 Redis 的 requirepass 参数来设置访问密码,修改 Redis.conf 配置文件:

requirepass XXX

配置密码后,就会强制所有访问 Redis 的客户端使用密码,相信现在没人还在使用 Redis 裸奔吧?

3、设置用户权限

设置用户权限,仅允许受信任的身份运行 Lua 脚本或任何其他潜在危险的命令。

在 Redis 中,可以通过 ACL(访问控制列表) 功能设置用户权限,从而限制特定用户只能运行受信任的命令,如:禁止运行 Lua 脚本或其他潜在危险的命令

注意,ACL 功能在 Redis 6.0+ 版本中才支持,如果版本较低,请先升级 Redis。


最后,赶紧检查 Redis 版本并修复吧,确保系统安全稳定运行。

版权声明: 本文系公众号 "Java技术栈" 原创,转载、引用本文内容请注明出处,抄袭、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权利。

更多文章推荐:

1.Spring Boot 3.x 教程,太全了!

2.2,000+ 道 Java面试题及答案整理(2024最新版)

3.免费获取 IDEA 激活码的 7 种方式(2024最新版)

觉得不错,别忘了随手点赞+转发哦!

标签:脚本,redis,漏洞,爆高危,Redis,Lua,版本
From: https://www.cnblogs.com/javastack/p/18650698

相关文章

  • 解决Redis缓存数据类型丢失问题
    一、背景在通用的数据开放平台中,支持用户编写基于Groovy脚本的接口,Groovy脚本中可以查询数据库,然后对数据库中的数据进行一些处理。平台支持任何接口都可以启用缓存。缓存不是缓存整个脚本的结果,而是只支持缓存数据库查询语句的结果,这样Groovy脚本中的其他逻辑依然可以处理数据......
  • Redis数据库——内存淘汰机制
    大家好,这里是GoodNote,关注公主号:Goodnote,专栏文章私信限时Free。本文详细介绍Redis的8种内存淘汰机制。文章目录过期键删除策略内存淘汰机制内存限制设置常见策略Redis3.0的淘汰机制——近似LRU算法Redis4.0的新增的淘汰机制——LFU算法历史文章MySQL数......
  • Java Redis多限流
    在现代Web应用中,限流(RateLimiting)是保护系统资源和防止滥用的重要机制。Redis由于其高性能和原子操作特性,成为实现限流的理想选择。本文将详细介绍如何在Java中使用Redis实现多种限流策略,包括固定窗口限流、滑动窗口限流和令牌桶算法。一、准备工作1.安装Redis确保Redis已经......
  • springboot3 redis 常用操作工具类
    在SpringBoot3中,操作Redis通常使用SpringDataRedis提供的工具类,如RedisTemplate和StringRedisTemplate。以下是一个详细的Redis操作工具类的实现,涵盖了常用功能。完整的Redis工具类以下工具类可以实现基本的Redis操作,例如字符串、哈希、列表、集合和有......
  • 常见中间件漏洞
    一:tomcat1.1CVE-2017-126151.搭建靶场2.打开网站,进行抓包 3.桌面创建一个jsp文件可以用哥斯拉工具生成一个jsp代码 4.抓包后修改提交方式,并将jsp代码复制到抓包后发送 5.去访问jsp文件成功上传去哥斯拉工具测试连接    1.2后台弱口令部署war包1.重新......
  • 常见中间件漏洞(tomcat,weblogic,jboss,apache)
    先准备好今天要使用的木马文件使用哥斯拉生成木马压缩成zip文件改名为war后缀一:Tomcat1.1CVE-2017-12615环境搭建cdvulhub-master/tomcat/CVE-2017-12615docker-composeup-d1.首页抓包,修改为PUT方式提交发送shell.jsp和木马内容201创建成功2.......
  • Spring Data REST 远程代码执行漏洞(CVE-2017-8046)分析与复现15
    前言2009年9月Spring3.0RC1发布后,Spring就引入了SpEL(SpringExpressionLanguage)。对于开发者而言,引入新的工具显然是令人兴奋的,但是对于运维人员,也许是噩耗的开始。类比Struts2框架,会发现绝大部分的安全漏洞都和ognl脱不了干系。尤其是远程命令执行漏洞,占据了多少甲方乙方......
  • redis的学习(一)
    1.环境搭建1.1在ubuntu上安装redis1.2reids客户端介绍    redis也是一个客户端-服务器结构的程序。redis客户端和服务器可以在同一份主机上,也可以在不同的主机上,因为二者是通过网络进行发送和接收请求的。    redis服务器是负责存储和管理数据的。 ......
  • Spring Data REST 远程代码执行漏洞(CVE-2017-8046)分析与复现15
    前言2009年9月Spring3.0RC1发布后,Spring就引入了SpEL(SpringExpressionLanguage)。对于开发者而言,引入新的工具显然是令人兴奋的,但是对于运维人员,也许是噩耗的开始。类比Struts2框架,会发现绝大部分的安全漏洞都和ognl脱不了干系。尤其是远程命令执行漏洞,占据了多少甲方乙方......
  • Spring Data REST 远程代码执行漏洞(CVE-2017-8046)分析与复现9
    前言2009年9月Spring3.0RC1发布后,Spring就引入了SpEL(SpringExpressionLanguage)。对于开发者而言,引入新的工具显然是令人兴奋的,但是对于运维人员,也许是噩耗的开始。类比Struts2框架,会发现绝大部分的安全漏洞都和ognl脱不了干系。尤其是远程命令执行漏洞,占据了多少甲方乙方......