目录
漏洞描述
目前受影响的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升级完成~