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

server/2025/2/27 10:31:23/

目录

漏洞描述

目前受影响的Redis版本:

安全版本

解决建议

升级Redis版本

redis%E7%89%88%E6%9C%AC%E4%BF%A1%E6%81%AF-toc" name="tableOfContents" style="margin-left:40px">查看旧redis版本信息

备份Redis数据

redis%E7%9A%84key-toc" name="tableOfContents" style="margin-left:80px">1.查看目前redis的key

2.备份数据 

3.查看备份文件地址

 4.将旧Redis安装目录备份

安装新版本Redis

redis%E5%AE%89%E8%A3%85%E5%8C%85-toc" name="tableOfContents" style="margin-left:40px">1.下载redis安装包

redis-toc" name="tableOfContents" style="margin-left:40px">2.安装redis

redis-toc" name="tableOfContents" style="margin-left:40px">3.启动新的redis

4.验证

redis%E7%89%88%E6%9C%AC-toc" name="tableOfContents" style="margin-left:80px">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%E7%89%88%E6%9C%AC%E4%BF%A1%E6%81%AF" name="%E6%9F%A5%E7%9C%8B%E6%97%A7redis%E7%89%88%E6%9C%AC%E4%BF%A1%E6%81%AF">查看旧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数据

redis%E7%9A%84key" name="1.%E6%9F%A5%E7%9C%8B%E7%9B%AE%E5%89%8Dredis%E7%9A%84key">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

redis%E5%AE%89%E8%A3%85%E5%8C%85" name="1.%E4%B8%8B%E8%BD%BDredis%E5%AE%89%E8%A3%85%E5%8C%85">1.下载redis安装包

下载地址

这里本人下载的 6.2.16 版本

redis" name="2.%E5%AE%89%E8%A3%85redis">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

配置文件省略.....

redis" name="3.%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84redis">3.启动新的redis

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

4.验证

redis%E7%89%88%E6%9C%AC" name="4.1%20%E6%9F%A5%E7%9C%8B%E6%96%B0%E5%AE%89%E8%A3%85%E7%9A%84redis%E7%89%88%E6%9C%AC">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.ppmy.cn/server/171011.html

相关文章

图像处理之图像边缘检测算法

目录 1 图像边缘检测算法简介 2 Sobel边缘检测 3 经典的Canny边缘检测算法 4 演示Demo 4.1 开发环境 4.2 功能介绍 4.3 下载地址 参考 1 图像边缘检测算法简介 图像边缘检测是计算机视觉和图像处理中的基本问题&#xff0c;主要目的是提取图像中明暗变化明显的边缘细节…

MySQL中replace into详解、批量更新、不存在插入存在则更新、replace into的坑

文章目录 一、replace into原理二、replace into的三种形式三、replace into 使用案例 3.1、replace into values 3.1.1、只有主键且主键冲突3.1.2、有主键有唯一索引且主键冲突3.1.3、有主键有唯一索引且唯一索引冲突(有坑)3.1.4、有主键有唯一索引且与一条主键冲突与另一条唯…

计算机基础:二进制基础01,比特与字节

专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏&#xff0c;故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 &#xff08;一&#xff09;WIn32 专栏导航 上一篇&#xff1a;WIn32 笔记&#xff1a;本专栏课件 回到目录 下一篇&#xff1…

为什么要将PDF转换为CSV?CSV是Excel吗?

在企业和数据管理的日常工作中&#xff0c;PDF文件和CSV文件承担着各自的任务。PDF通常用于传输和展示静态的文档&#xff0c;而CSV因其简洁、易操作的特性&#xff0c;广泛应用于数据存储和交换。如果需要从PDF中提取、分析或处理数据&#xff0c;转换为CSV格式可能是一个高效…

python单例模式魔法方法

1.__init__()和__new__() 1.1__init__():初始化对象 上篇文章提到过 1.2__new__():object基类提供的内置静态方法 作用&#xff1a;1.在内存中为对象分配空间 2.返回对象的引用 注意&#xff1a;重写__new__()一定要return super().__new__(cls),否则python解释器得不到分…

Fisher信息矩阵(Fisher Information Matrix,简称FIM)

Fisher信息矩阵简介 Fisher信息矩阵&#xff08;Fisher Information Matrix&#xff0c;简称FIM&#xff09;是统计学和信息理论中的一个重要概念&#xff0c;广泛应用于参数估计、统计推断和机器学习领域。它以统计学家罗纳德费希尔&#xff08;Ronald Fisher&#xff09;的名…

【笔记ing】C语言补充、组成原理数据表示与汇编实战、操作系统文件实战(高级阶段)

【第19节 C语言语法进阶】 【19.1 条件运算符与逗号运算符】 1 条件运算符 条件运算符是C语言中唯一的一种三亩运算符。三目运算符代表有三个操作数&#xff1b;双目运算符代表有两个操作数&#xff0c;如逻辑运算符就是双目运算符&#xff1b;弹幕运算符代表有一个操作数&a…

Rk3568驱动开发_点亮led灯(手动挡)_5

1.MMU简介 完成虚拟空间到物理空间的映射 内存保护设立存储器的访问权限&#xff0c;设置虚拟存储空间的缓冲特性 stm32点灯可以直接操作寄存器&#xff0c;但是linux点灯不能直接访问寄存器&#xff0c;linux会使能mmu linux中操作的都是虚拟地址&#xff0c;要想访问物理地…