-
09/04/2020
-
122
-
1.400 bài viết
Lỗ hổng Ruby SAML đe dọa hệ thống SSO, mở đường cho tấn công vượt xác thực
Một lỗ hổng xác thực cực kỳ nghiêm trọng vừa được phát hiện trong thư viện Ruby SAML, nền tảng được nhiều doanh nghiệp và dịch vụ trực tuyến sử dụng để triển khai cơ chế đăng nhập một lần (Single Sign-On - SSO). Lỗ hổng cho phép kẻ tấn công hoàn toàn bỏ qua bước xác thực, đánh lừa hệ thống rằng chúng là người dùng hợp lệ. Đây là nguy cơ đặc biệt lớn với các tổ chức phụ thuộc SAML để vận hành hệ thống nội bộ, quản lý danh tính và truy cập ứng dụng doanh nghiệp.
Các cuộc kiểm tra cho thấy cùng một gói tin XML nhưng hai parser lại tạo ra hai cấu trúc tài liệu khác nhau. Khi điều này xảy ra trong quy trình xác thực, kẻ tấn công có thể tận dụng sự “lệch pha” này để thực hiện signature wrapping attack (tấn công bọc chữ ký), qua đó khiến hệ thống xác nhận một chữ ký hợp lệ ngay cả khi nội dung đã bị sửa đổi.
Nói cách khác, cơ chế bảo vệ quan trọng nhất của SAML đã bị qua mặt. Theo thông tin hiện tại, lỗ hổng tồn tại trong mọi phiên bản Ruby SAML trước 1.18.0.
Ruby SAML chịu trách nhiệm xác nhận xem phản hồi SAML có hợp lệ hay không trước khi cấp quyền cho người dùng. Khi hai thư viện XML xử lý dữ liệu theo cách khác nhau, kẻ tấn công có thể:
CVE-2025-25293 là minh chứng cho rủi ro đến từ các bản vá lỗi chưa triệt để. Một lỗ hổng tưởng chừng đã được khắc phục có thể mở đường cho những khai thác phức tạp hơn nếu tổ chức bỏ qua bước rà soát và kiểm thử đầy đủ. Trong bối cảnh tấn công mạng ngày càng tinh vi, các hệ thống xác thực cần được duy trì ở mức an toàn cao nhất. Việc cập nhật Ruby SAML lên phiên bản mới nhất không chỉ là khuyến cáo mà là hành động bắt buộc để bảo vệ toàn bộ chuỗi ứng dụng doanh nghiệp.
Ruby SAML bị gì? Lỗ hổng nằm ở đâu và do đâu mà có?
Lỗ hổng này được gán mã CVE-2025-25293, có liên quan trực tiếp tới bản sửa lỗi chưa triệt để của CVE-2025-25292, xuất phát từ sự khác biệt trong cách hai thư viện phân tích XML (ReXML và Nokogiri) xử lý cùng một tài liệu SAML.Các cuộc kiểm tra cho thấy cùng một gói tin XML nhưng hai parser lại tạo ra hai cấu trúc tài liệu khác nhau. Khi điều này xảy ra trong quy trình xác thực, kẻ tấn công có thể tận dụng sự “lệch pha” này để thực hiện signature wrapping attack (tấn công bọc chữ ký), qua đó khiến hệ thống xác nhận một chữ ký hợp lệ ngay cả khi nội dung đã bị sửa đổi.
Nói cách khác, cơ chế bảo vệ quan trọng nhất của SAML đã bị qua mặt. Theo thông tin hiện tại, lỗ hổng tồn tại trong mọi phiên bản Ruby SAML trước 1.18.0.
Ruby SAML chịu trách nhiệm xác nhận xem phản hồi SAML có hợp lệ hay không trước khi cấp quyền cho người dùng. Khi hai thư viện XML xử lý dữ liệu theo cách khác nhau, kẻ tấn công có thể:
- Tạo một gói tin SAML giả mạo, chứa hai phần dữ liệu trông giống hợp lệ.
- Lợi dụng sự khác biệt giữa ReXML và Nokogiri để khiến hệ thống kiểm tra chữ ký trên phần "sạch", nhưng lại thực thi nội dung của phần "độc".
- Hệ thống tin rằng phản hồi SAML “đã được ký hợp lệ”, trong khi thực tế dữ liệu bị thao túng.
Rủi ro và hậu quả nếu lỗ hổng bị khai thác
Nếu một tổ chức đang sử dụng Ruby SAML phiên bản cũ, nguy cơ rất nghiêm trọng:- Kẻ tấn công có thể truy cập trái phép toàn bộ hệ thống nội bộ chỉ bằng cách gửi phản hồi SAML giả mạo.
- Mất quyền kiểm soát các tài khoản quản trị, từ đó thực hiện thay đổi cấu hình, đánh cắp dữ liệu hoặc vô hiệu hóa bảo mật.
- Vô hiệu hóa hoàn toàn các hệ thống xác thực đa yếu tố (MFA) dựa trên SAML.
- Tấn công leo thang đặc quyền, mở đường cho việc phát tán mã độc hoặc chiếm quyền toàn bộ hạ tầng doanh nghiệp.
- Ảnh hưởng dây chuyền tới các dịch vụ khác sử dụng SSO chung.
Làm gì để phòng tránh và khắc phục?
Nhóm phát triển SAML-Toolkits đã phát hành bản vá Ruby SAML 1.18.0, xử lý triệt để lỗi phân tích XML và ngăn chặn hoàn toàn signature wrapping attack. Các chuyên gia khuyến nghị:- Cập nhật ngay lập tức lên Ruby SAML ≥ 1.18.0.
- Kiểm tra hệ thống SSO để xác định xem có đang sử dụng phiên bản dễ bị tấn công hay không.
- Rà soát nhật ký xác thực (audit log) nhằm phát hiện hành vi bất thường như phiên đăng nhập không rõ nguồn gốc, đặc biệt là từ các ứng dụng tích hợp SAML.
- Tăng cường giám sát IAM, nhất là quyền của tài khoản quản trị.
- Kiểm thử SAML bằng các công cụ phân tích signature wrapping để bảo đảm hệ thống không bị ảnh hưởng bởi các lỗ hổng tương tự.
CVE-2025-25293 là minh chứng cho rủi ro đến từ các bản vá lỗi chưa triệt để. Một lỗ hổng tưởng chừng đã được khắc phục có thể mở đường cho những khai thác phức tạp hơn nếu tổ chức bỏ qua bước rà soát và kiểm thử đầy đủ. Trong bối cảnh tấn công mạng ngày càng tinh vi, các hệ thống xác thực cần được duy trì ở mức an toàn cao nhất. Việc cập nhật Ruby SAML lên phiên bản mới nhất không chỉ là khuyến cáo mà là hành động bắt buộc để bảo vệ toàn bộ chuỗi ứng dụng doanh nghiệp.
WhiteHat
