Lỗ Hổng CVE Nghiêm Trọng Cho Phép RCE trong Redis Server

Một lỗ hổng CVE bảo mật nghiêm trọng đã được phát hiện trong Redis Server, có khả năng cho phép những kẻ tấn công đã xác thực thực hiện remote code execution (RCE) thông qua một lỗi use-after-free trong công cụ scripting Lua của nó.
Phân tích Kỹ thuật về CVE-2025-49844
Lỗ hổng này được định danh là CVE-2025-49844, ảnh hưởng đến tất cả các phiên bản của Redis hỗ trợ chức năng scripting Lua. Đây là một CVE nghiêm trọng đòi hỏi sự chú ý tức thì từ các quản trị viên hệ thống.
Thông tin chi tiết và cập nhật về lỗ hổng có thể được tham khảo tại Cơ sở dữ liệu Lỗ hổng Quốc gia (NVD NIST), một nguồn đáng tin cậy cho các tin tức bảo mật.
Các nhà nghiên cứu bảo mật từ Wiz, bao gồm Benny Isaacs, Nir Brakha và Sagi Tzadik, đã làm việc cùng với Zero Day Initiative của Trend Micro để xác định và báo cáo lỗ hổng này. Báo cáo của họ có thể được tìm thấy trên GitHub Security Advisory.
Cơ chế Khai thác Lỗi Use-After-Free trong Redis Lua
Bản chất của lỗ hổng nằm ở việc quản lý bộ nhớ không đúng cách trong triển khai Lua scripting của Redis. Cụ thể, nó khai thác cơ chế thu gom rác (garbage collection) của Redis.
Lỗi use-after-free xảy ra khi một vùng bộ nhớ đã được giải phóng (và có thể được tái cấp phát cho một mục đích khác) vẫn được một con trỏ truy cập hoặc tham chiếu.
Trong trường hợp của Redis, những kẻ tấn công đã xác thực có thể tạo ra các script Lua độc hại được thiết kế để thao túng quá trình thu gom rác.
Mục tiêu là kích hoạt điều kiện use-after-free, nơi các tham chiếu bộ nhớ vẫn tồn tại sau khi các cấu trúc bộ nhớ cơ bản đã được giải phóng.
Điều này tạo ra một tình trạng nguy hiểm: kẻ tấn công có khả năng kiểm soát các vùng bộ nhớ đã được giải phóng. Bằng cách thao túng dữ liệu tại các vị trí này, chúng có thể thực thi mã tùy ý với đặc quyền của tiến trình máy chủ Redis.
Khả năng chiếm quyền điều khiển hoàn toàn hệ thống thông qua lỗ hổng này là một rủi ro bảo mật cực kỳ cao.
Tác động và Mức độ Rủi ro từ Khai thác CVE-2025-49844
Lỗ hổng CVE-2025-49844 gây ra những rủi ro đáng kể cho các tổ chức đang vận hành các triển khai Redis, đặc biệt là những nơi cho phép người dùng đã xác thực thực thi các script Lua.
Kẻ tấn công chỉ cần có thông tin xác thực Redis hợp lệ để khai thác lỗ hổng này từ xa qua kết nối mạng. Điều này không yêu cầu tương tác thêm từ người dùng hoặc các đặc quyền nâng cao trên hệ thống mục tiêu.
Đánh giá Phức tạp Tấn công và Phạm vi Ảnh hưởng Mở rộng
Mức độ phức tạp của cuộc tấn công mạng này được đánh giá là thấp.
Điều này hàm ý rằng các kỹ thuật khai thác có thể tương đối đơn giản để phát triển và triển khai một khi chi tiết kỹ thuật về lỗ hổng CVE này được công bố rộng rãi. Điều này làm tăng nguy cơ về một làn sóng khai thác rộng rãi.
Một điểm đáng chú ý khác là xếp hạng phạm vi thay đổi (changed scope rating). Xếp hạng này chỉ ra rằng việc khai thác thành công không chỉ tác động đến bản thân máy chủ Redis.
Nó có thể ảnh hưởng đến các tài nguyên khác hoặc dữ liệu nằm trong cùng một ranh giới bảo mật. Điều này có thể dẫn đến một cuộc tấn công mạng phức tạp hơn, vượt ra ngoài phạm vi ban đầu của dịch vụ Redis.
Khả năng remote code execution có thể cho phép kẻ tấn công thiết lập quyền truy cập bền bỉ hoặc di chuyển ngang (lateral movement) trong mạng nội bộ.
Biện pháp Giảm thiểu và Cập nhật Bản vá Bảo mật Tạm thời
Hiện tại, các bản vá bảo mật chính thức cho CVE-2025-49844 vẫn đang trong quá trình phát triển và chưa được công bố (được đánh dấu là “TBD”).
Tuy nhiên, các quản trị viên Redis có thể và nên thực hiện các biện pháp bảo vệ ngay lập tức để giảm thiểu mối đe dọa mạng này.
Giải pháp tạm thời chính là sử dụng Danh sách kiểm soát truy cập (ACLs) của Redis để hạn chế hoặc vô hiệu hóa các lệnh EVAL và EVALSHA.
Các lệnh này là cốt lõi cho việc thực thi script Lua. Việc hạn chế chúng sẽ loại bỏ vector tấn công chính mà không ảnh hưởng đến các chức năng Redis không liên quan đến Lua scripting.
Hướng dẫn Cấu hình ACL để Phòng Chống Khai thác Remote Code Execution
Chiến lược giảm thiểu này là một bước quan trọng để bảo vệ hệ thống khỏi khả năng remote code execution trong khi chờ đợi các bản vá bảo mật chính thức.
Các tổ chức cần xem xét kỹ lưỡng cấu hình Redis của mình để xác định các trường hợp chức năng scripting Lua được bật và đánh giá mức độ cần thiết của nó cho hoạt động kinh doanh.
Nếu Lua scripting không phải là một yêu cầu thiết yếu, việc vô hiệu hóa hoặc hạn chế truy cập thông qua ACLs là biện pháp được khuyến nghị mạnh mẽ.
Dưới đây là ví dụ về cách cấu hình ACL trong Redis để hạn chế người dùng mặc định không thể thực thi các lệnh liên quan đến Lua scripting:
# Mở file redis.conf hoặc thực hiện qua Redis CLI nếu ACL đã được bật
# Để thêm hoặc sửa đổi người dùng:
# Bước 1: Kích hoạt ACL trong redis.conf (nếu chưa)
# aclfile /path/to/users.acl
# Bước 2: Định nghĩa người dùng và quyền hạn trong users.acl hoặc qua CLI
# Để hạn chế người dùng 'default' không được chạy EVAL và EVALSHA
user default +@all -EVAL -EVALSHA
Lệnh user default +@all -EVAL -EVALSHA thiết lập người dùng default (hoặc bất kỳ người dùng đã xác thực nào bạn muốn bảo vệ) có quyền truy cập vào tất cả các nhóm lệnh (+@all) nhưng bị cấm rõ ràng (-) thực thi các lệnh EVAL và EVALSHA.
Biện pháp này ngăn chặn hiệu quả việc sử dụng script Lua độc hại để khai thác lỗ hổng CVE nghiêm trọng này.
Việc áp dụng các chính sách ACL chặt chẽ là một phần quan trọng trong chiến lược an ninh mạng toàn diện để bảo vệ hệ thống khỏi các mối đe dọa mạng tiềm ẩn.









