Cảnh báo lỗ hổng nghiêm trọng trong Ruby on Rails: Kẻ tấn công có thể đọc file server qua upload ảnh
Lỗ hổng CVE-2026-66066 với điểm CVSS 9.5 cho phép kẻ tấn công không cần xác thực đọc các file nhạy cảm trên server thông qua Active Storage và libvips, dẫn đến nguy cơ chiếm quyền điều khiển hệ...
- Giọng nữ Bắc
Đội ngũ bảo mật Ruby on Rails vừa phát hành các bản vá khẩn cấp cho một lỗ hổng nghiêm trọng trong Active Storage, cho phép kẻ tấn công không cần xác thực có thể đọc các file tùy ý trên server thông qua việc tải lên các file ảnh đã được dàn dựng (crafted image uploads).
Table Of Content
Chi tiết về lỗ hổng CVE-2026-66066
Được định danh là CVE-2026-66066 với điểm số CVSS lên tới 9.5, lỗ hổng này cực kỳ nguy hiểm vì nó có thể làm lộ môi trường xử lý của Rails và các thông tin nhạy cảm như secret_key_base, master key, mật khẩu cơ sở dữ liệu, thông tin đăng nhập cloud storage và API tokens. Những thông tin này là chìa khóa để kẻ tấn công thực hiện Remote Code Execution (RCE) hoặc di chuyển ngang (lateral movement) trong hệ thống.
Lỗ hổng ảnh hưởng đến các ứng dụng sử dụng thư viện libvips để xử lý ảnh trong Active Storage và chấp nhận file tải lên từ người dùng không xác định. Các phiên bản bị ảnh hưởng bao gồm:
- Rails 7.0.0 đến 7.2.3.1
- Rails 8.0.0 đến 8.0.5
- Rails 8.1.0 đến 8.1.3
- Rails 6.0.0 đến 6.1.7.10 (chỉ khi Active Storage được cấu hình sử dụng Vips)
Cơ chế tấn công
Theo phân tích kỹ thuật từ Ethiack, kẻ tấn công sử dụng các file MAT v7.3 (định dạng HDF5) được ngụy trang dưới dạng ảnh. Khi Active Storage xử lý các file này thông qua libvips, nó vô tình kích hoạt các trình tải (loader) không an toàn, cho phép đọc nội dung file trên server. Các nhà nghiên cứu đã chứng minh chuỗi tấn công từ việc đọc file tùy ý dẫn đến RCE bằng cách khai thác các lỗ hổng khác như CVE-2025-24293 sau khi thu thập được các key bảo mật.
Khuyến nghị hành động
Nhóm phát triển Rails khuyến cáo người dùng thực hiện các bước sau ngay lập tức:
- Cập nhật phiên bản: Nâng cấp lên Rails 7.2.3.2, 8.0.5.1 hoặc 8.1.3.1.
- Xoay vòng thông tin bảo mật (Rotate secrets): Sau khi cập nhật, bắt buộc phải thay đổi toàn bộ
secret_key_base, master key, mật khẩu database và các token dịch vụ bên thứ ba. - Cấu hình bảo mật: Sử dụng
Vips.block_untrusted(true)để chặn các thao tác không an toàn trong libvips. - Kiểm tra dấu vết: Rails đã cung cấp bộ công cụ pháp y (forensic toolkit) để quản trị viên kiểm tra xem hệ thống đã từng bị khai thác hay chưa.
Các ứng dụng sử dụng MiniMagick thay vì libvips không bị ảnh hưởng bởi lỗ hổng này. Đối với các phiên bản Rails cũ hơn (7.1 trở về trước), do đã kết thúc vòng đời hỗ trợ (EOL), người dùng bắt buộc phải nâng cấp lên phiên bản mới nhất để đảm bảo an toàn.
Nguồn tham khảo: The Hacker News



No Comment! Be the first one.