Lỗ hổng nghiêm trọng trong Ruby on Rails cho phép kẻ tấn công đọc file server qua ảnh tải lên
Một lỗ hổng bảo mật nghiêm trọng (CVE-2026-66066) trong Active Storage của Ruby on Rails vừa được phát hiện, cho phép kẻ tấn công không cần xác thực có thể đọc các file nhạy cảm trên server thông qua...
- Giọng nữ Bắc
Cộng đồng Ruby on Rails vừa phát đi cảnh báo về một lỗ hổng bảo mật nghiêm trọng trong thành phần Active Storage. Lỗ hổng này, được định danh là CVE-2026-66066 với điểm CVSS lên tới 9.5, cho phép những kẻ tấn công không cần xác thực có thể đọc tùy ý các file trên server thông qua việc tải lên các tệp ảnh đã được tinh chỉnh.
Table Of Content
Nguy cơ từ lỗ hổng
Việc khai thác thành công lỗ hổng này có thể làm lộ các thông tin nhạy cảm trong môi trường thực thi của Rails, bao gồm secret_key_base, master key, mật khẩu cơ sở dữ liệu, thông tin xác thực cloud storage và các API token. Những dữ liệu này là chìa khóa để kẻ tấn công thực hiện các cuộc tấn công leo thang, chiếm quyền điều khiển 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
Lỗ hổng này ảnh hưởng đến các ứng dụng sử dụng libvips để xử lý ảnh trong Active Storage. Cụ thể:
- 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
- Các phiên bản từ 6.0.0 đến 6.1.7.10 cũng có nguy cơ nếu cấu hình Active Storage sử dụng Vips.
Các ứng dụng sử dụng MiniMagick không bị ảnh hưởng bởi phương thức tấn công này.
Khuyến nghị khắc phục
Đội ngũ phát triển Ruby on Rails đã phát hành các bản vá để khắc phục vấn đề. Người quản trị hệ thống cần thực hiện ngay các bước sau:
- Nâng cấp lên các phiên bản Rails: 7.2.3.2, 8.0.5.1, hoặc 8.1.3.1.
- Cập nhật
libvipslên phiên bản 8.13 trở lên vàruby-vipslên 2.2.1 trở lên. - Sau khi cập nhật, bắt buộc phải thực hiện xoay vòng (rotate) toàn bộ các thông tin xác thực (credentials) mà ứng dụng có thể truy cập được, vì bản vá không thể thu hồi các thông tin đã bị đánh cắp trước đó.
Trong trường hợp chưa thể nâng cấp ngay lập tức, các quản trị viên có thể cấu hình biến môi trường VIPS_BLOCK_UNTRUSTED hoặc gọi hàm Vips.block_untrusted(true) để vô hiệu hóa các thao tác không an toàn từ libvips.
Hiện tại, chưa có báo cáo về việc khai thác lỗ hổng này trong thực tế (in-the-wild), tuy nhiên do mức độ nghiêm trọng cao, việc cập nhật hệ thống cần được ưu tiên thực hiện sớm nhất có thể.
Nguồn tham khảo: The Hacker News

No Comment! Be the first one.