Cảnh báo lỗ hổng nghiêm trọng trên Ruby on Rails: Kẻ tấn công có thể đọc file server qua upload ảnh
Một lỗ hổng bảo mật nghiêm trọng (CVE-2026-66066) trong Active Storage của Ruby on Rails cho phép kẻ tấn công không cần xác thực vẫn có thể đọc các file nhạy cảm trên server thông qua các tệp tin ảnh...
- Giọng nữ Bắc
Cộng đồng Ruby on Rails vừa ghi nhận một lỗ hổng bảo mật nghiêm trọng (định danh CVE-2026-66066) với điểm CVSS lên tới 9.5. Lỗ hổng này nằm trong thành phần Active Storage, cho phép kẻ tấn công không cần xác thực có thể đọc trái phép các file trên server thông qua việc tải lên các tệp tin ảnh đã được tinh chỉnh.
Table Of Content
Chi tiết về lỗ hổng
Lỗ hổng này xuất phát từ ranh giới tin cậy giữa Active Storage và thư viện xử lý ảnh libvips. Cụ thể, libvips hỗ trợ một số trình tải (loaders) và trình lưu (savers) từ bên thứ ba vốn không an toàn khi xử lý các dữ liệu đầu vào độc hại. Do Active Storage không chặn các thao tác này, kẻ tấn công có thể lợi dụng để truy cập vào các file mà tiến trình Rails có quyền đọc.
Việc khai thác thành công có thể dẫn đến rò rỉ các thông tin nhạy cảm như secret_key_base, khóa master của Rails, mật khẩu cơ sở dữ liệu, thông tin xác thực cloud storage và các API token. Từ những dữ liệu này, kẻ tấn công có khả năng thực thi mã từ xa (RCE) hoặc di chuyển ngang (lateral movement) trong hệ thống.
Các phiên bản bị ảnh hưởng
Các ứng dụng sử dụng libvips để xử lý ảnh và cho phép người dùng không xác thực tải lên tệp tin đều có nguy cơ bị tấn công. Danh sách 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 được cấu hình sử dụng Vips)
Các ứng dụng sử dụng MiniMagick không bị ảnh hưởng bởi lỗ hổng này.
Khuyến nghị khắc phục
Đội ngũ bảo mật của 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 các bản vá mới nhất là Rails 7.2.3.2, 8.0.5.1 hoặc 8.1.3.1.
- Cập nhật thư viện: Đảm bảo hệ thống sử dụng
libvipsphiên bản 8.13 trở lên vàruby-vipsphiên bản 2.2.1 trở lên. - Xoay vòng thông tin xác thực: Sau khi cập nhật, quản trị viên cần thực hiện xoay vòng (rotate) tất cả các secret, khóa master, mật khẩu database và các token bên thứ ba mà ứng dụng có quyền truy cập.
- Cấu hình chặn: Nếu chưa thể nâng cấp ngay, hãy thiết lập biến môi trường
VIPS_BLOCK_UNTRUSTEDhoặc gọi hàmVips.block_untrusted(true)trong mã nguồn để ngăn chặn các thao tác không an toàn.
Hiện tại, dù đã có các báo cáo về PoC (Proof-of-Concept) từ bên thứ ba, người dùng vẫn nên ưu tiên việc cập nhật phần mềm để đảm bảo an toàn tuyệt đối cho hệ thống.
Nguồn tham khảo: The Hacker News

No Comment! Be the first one.