当前位置: 首页 > news >正文

Redis Lua Script 溢出漏洞(CVE-2024-31449)

目录

漏洞描述

目前受影响的Redis版本:

安全版本

解决建议

升级Redis版本

查看旧redis版本信息

备份Redis数据

1.查看目前redis的key

2.备份数据 

3.查看备份文件地址

 4.将旧Redis安装目录备份

安装新版本Redis

1.下载redis安装包

2.安装redis

3.启动新的redis

4.验证

4.1 查看新安装的redis版本

4.2 查看数据是否恢复


漏洞描述

Redis是一个开源的基于内存亦可持久化的Key-Value数据库。2024年10月,官方披露 CVE-2024-31449 Redis Lua Script 溢出漏洞,经过身份验证的用户可以使用特制的Lua脚本来触发堆栈缓冲区溢出,并可能会导致远程代码执行。官方已发布更新修复,建议升级至最新版本。

目前受影响的Redis版本:

2.6 ≤ Redis < 6.2.16
7.0.0 ≤ Redis < 7.2.6
7.4.0 ≤ Redis < 7.4.1

安全版本

6.2.16

7.2.6

7.4.1

解决建议

1、Redis 官方已发布更新修复,建议升级至最新版本。
2、利用安全组设置Redis仅对可信地址开放。
3、应用漏洞暂只支持获取 Redis 自身版本,若确定已为各发行版本安全修复版本,可予忽略。

升级Redis版本

查看旧redis版本信息

# /usr/local/redis/bin/redis-server --version
Redis server v=2.8.22 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=4c2b76a2ddab816

备份Redis数据

1.查看目前redis的key

# 登录redis客户端
# /usr/local/redis/bin/redis-cli 
127.0.0.1:6379> AUTH  xxx
OK
127.0.0.1:6379> dbsize
(integer) 15

2.备份数据 

# 备份命令
127.0.0.1:6379> SAVE
OK或
BGSAVE

3.查看备份文件地址

# 通过命令找到备份的数据文件
config get dir
config get dbfilename

 4.将旧Redis安装目录备份

备份旧目录

cp /usr/local/redis /usr/local/redisbak -r

安装新版本Redis

1.下载redis安装包

下载地址

这里本人下载的 6.2.16 版本

2.安装redis

# 下载
wget https://download.redis.io/releases/redis-6.2.16.tar.gz
# 解压
tar -zxf redis-6.2.16.tar.gz
# 切换到解压后的目录
cd redis-6.2.16
# 编译安装
make PREFIX=/usr/local/redis install

配置文件省略.....

3.启动新的redis

redis-server /usr/local/redis/etc/redis.conf

4.验证

4.1 查看新安装的redis版本

redis-server --version
Redis server v=6.2.16 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=12b91a981b4a57b0

4.2 查看数据是否恢复

从图可知数据和旧数据一致,说明数据恢复了

到此redis升级完成~ 

http://www.lryc.cn/news/543170.html

相关文章:

  • 【Mysql】我在广州学Mysql 系列—— 性能优化相关例题
  • java23种设计模式-中介者模式
  • 鸿蒙next 点击穿透实现
  • OpenAPI Generator:API开发的瑞士军刀
  • 某住宅小区地下车库安科瑞的新能源汽车充电桩的配电设计与应用方案 安科瑞 耿笠
  • 电子科技大学考研复习经验分享
  • 2025面试Go真题第一场
  • 【量化策略】趋势跟踪策略
  • leetcode 541. 反转字符串 II 简单
  • org.springframework.boot不存在的其中一个解决办法
  • AI绘画软件Stable Diffusion详解教程(2):Windows系统本地化部署操作方法(专业版)
  • MySql数据库运维学习笔记
  • Linux中Shell运行原理和权限(下)(4)
  • LeetCode热题100- 字符串解码【JavaScript讲解】
  • 每日一题——LRU缓存机制的C语言实现详解
  • Leetcode3162:优质数对的总数 I
  • docker安装etcd:docker离线安装etcd、docker在线安装etcd、etcd镜像下载、etcd配置详解、etcd常用命令、安装常见问题总结
  • Apache SeaTunnel 构建实时数据同步管道(最新版)
  • 递归、搜索与回溯第二讲:二叉树中的深搜 穷举vs暴搜vs深搜vs回溯vs剪枝
  • Hbase分布式——储存机制
  • Word表格中如何只单独调整某一单元格宽度
  • Build错误:Cannot determine build data storage root for project 和 无法加载主类的解决办法的经验分享
  • 【Springboot知识】Logback从1.2.x升级到1.3.x需要注意哪些点?
  • 大语言加持的闭环端到端自动驾驶模型 学习笔记纯干货
  • 初阶数据结构(C语言实现)——2算法的时间复杂度和空间复杂度
  • MySQL知识
  • 【前端定位线上问题的多种方案(不依赖 Sentry)】
  • 怎么修改node_modules里的文件,怎么使用patch-package修改node_modules的文件,怎么修改第三方库原文件。
  • muduo网络库2
  • 什么是DrawCall?DrawCall为什么会影响游戏运行效率?如何减少DrawCall?