Redis đã công bố chi tiết về một lỗ hổng bảo mật nghiêm trọng nhất trong phần mềm cơ sở dữ liệu trong bộ nhớ của họ, có thể dẫn đến thực thi mã từ xa (RCE) trong một số trường hợp nhất định.
Lỗ hổng, được theo dõi là CVE-2025-49844 (còn gọi là RediShell), đã được gán điểm CVSS là 10.0.
"Một người dùng đã xác thực có thể sử dụng một đoạn script Lua được tạo đặc biệt để thao túng bộ thu gom rác, kích hoạt lỗi use-after-free, và có thể dẫn đến thực thi mã từ xa," theo một cảnh báo trên GitHub về vấn đề này. "Vấn đề này tồn tại trong tất cả các phiên bản của Redis có tính năng Lua scripting."
Tuy nhiên, để khai thác thành công, kẻ tấn công cần phải giành được quyền truy cập đã xác thực vào một phiên bản Redis. Điều này nhấn mạnh tầm quan trọng của việc người dùng không để các phiên bản Redis của mình bị lộ ra Internet và phải bảo vệ chúng bằng xác thực mạnh.
Vấn đề này ảnh hưởng đến tất cả các phiên bản của Redis. Nó đã được khắc phục trong các phiên bản 6.2.20, 7.2.11, 7.4.6, 8.0.4 và 8.2.2 được phát hành vào ngày 3 tháng 10 năm 2025.
Là các biện pháp khắc phục tạm thời cho đến khi có thể áp dụng bản vá, khuyến nghị người dùng ngăn chặn việc thực thi các script Lua bằng cách thiết lập danh sách kiểm soát truy cập (ACL) để hạn chế các lệnh EVAL và EVALSHA. Điều quan trọng nữa là chỉ những danh tính đáng tin cậy mới được phép chạy các script Lua hoặc bất kỳ lệnh nào khác có khả năng gây rủi ro.
Công ty bảo mật đám mây Wiz, đơn vị đã phát hiện và báo cáo lỗ hổng này cho Redis vào ngày 16 tháng 5 năm 2025, đã mô tả đây là một lỗi hỏng bộ nhớ use-after-free (UAF) đã tồn tại trong mã nguồn của Redis khoảng 13 năm.
Về cơ bản, nó cho phép kẻ tấn công gửi một script Lua độc hại dẫn đến thực thi mã tùy ý bên ngoài môi trường sandbox của trình thông dịch Lua của Redis, cấp cho chúng quyền truy cập trái phép vào máy chủ cơ bản. Trong một kịch bản tấn công giả định, nó có thể được tận dụng để đánh cắp thông tin xác thực, cài đặt malware, đánh cắp dữ liệu nhạy cảm hoặc chuyển hướng sang các dịch vụ đám mây khác.
"Lỗ hổng này cho phép kẻ tấn công đã xác thực gửi một script Lua độc hại được tạo đặc biệt (một tính năng được hỗ trợ mặc định trong Redis) để thoát khỏi sandbox của Lua và đạt được thực thi mã gốc tùy ý trên máy chủ Redis," Wiz cho biết. "Điều này cấp cho kẻ tấn công toàn quyền truy cập vào hệ thống máy chủ, cho phép chúng đánh cắp, xóa hoặc mã hóa dữ liệu nhạy cảm, chiếm đoạt tài nguyên và tạo điều kiện cho việc di chuyển ngang trong môi trường đám mây."
Mặc dù không có bằng chứng nào cho thấy lỗ hổng này từng bị khai thác trong thực tế, các phiên bản Redis là mục tiêu hấp dẫn cho các tác nhân đe dọa đang tìm cách thực hiện các cuộc tấn công cryptojacking và đưa chúng vào một botnet. Tính đến thời điểm hiện tại, có khoảng 330.000 phiên bản Redis bị lộ ra Internet, trong đó khoảng 60.000 phiên bản không có bất kỳ hình thức xác thực nào.
"Với hàng trăm nghìn phiên bản bị lộ ra trên toàn thế giới, lỗ hổng này đặt ra một mối đe dọa đáng kể cho các tổ chức thuộc mọi ngành," Wiz cho biết. "Sự kết hợp giữa việc triển khai rộng rãi, cấu hình mặc định không an toàn và mức độ nghiêm trọng của lỗ hổng tạo ra nhu cầu cấp thiết phải khắc phục ngay lập tức."