Đăng bởi usa vào 13 Nov 2014
Dịch bởi thomastran
Sự giãn nở thực thể không giới hạn có thể dẫn đến lỗ hổng DoS ở REXML, giống “Entity expansion DoS vulnerability in REXML (XML bomb, CVE-2013-1821)” và “CVE-2014-8080: Tấn công từ chối dịch vụ giãn nở XML (XML Expansion)”. Lỗ hổng này đã được gán nhận dạng CVE CVE-2014-8090. Chúng tôi mạnh mẽ khuyến cáo nâng cấp lên Ruby bản mới nhất.
Chi tiết
Đây là bản sửa bổ sung cho CVE-2013-1821 và CVE-2014-8080. Các bản vá trước đã giải quyết vấn đề giãn nỡ đệ quy ở một số điểm và tổng kích thước các string tạo ra. Tuy nhiên, chúng chưa xem xét giới hạn đầu được sự dụng cho giãn nở thực thể. Do đó giãn nở đệ quy với một xâu rỗng có thể gây ra 100% CPU bị chiếm dụng. Khi đọc các text node từ một XML document, bộ phân tích cú pháp REXML có thể bị ép phải cấp phát các đối tượng string kích thước khổng lồ dẫn đến ngốn hết bộ nhớ của máy tính, và gây ra từ chối dịch vụ.
Code bị ảnh hưởng sẽ giống như:
Tất cả người dùng đang chạy các phiên bản bị ảnh hưởng nên hoặc nâng cấp hoặc sử dụng một trong các giải pháp thay thế ngay lập tức.
Các phiên bản bị ảnh hưởng
- Tất cả các phiên bản Ruby 1.9 trước Ruby 1.9.3 patchlevel 551
- Tất cả các phiên bản Ruby 2.0 trước Ruby 2.0.0 patchlevel 598
- Tất cả các phiên bản Ruby 2.1 trước Ruby 2.1.5
- trước trunk revision 48402
Giải pháp khác
Nếu bạn không thể nâng cấp Ruby, sử dụng bản vá tạm sau như là một giải pháp thay thế:
Cảm ơn
Cảm ơn Tomas Hoger đã báo cáo vấn đề này.
Lịch sử
- Phát hành lần đầu vào 2014-11-13 12:00:00 UTC