CVE-2014-8090: Một lỗ hổng từ chối dịch vụ mở rộng XML khác
Đăng bởi usa vào 13 Nov 2014
Mở rộng entity không giới hạn có thể dẫn đến lỗ hổng DoS trong REXML, giống như “Lỗ hổng DoS mở rộng entity trong REXML (XML bomb, CVE-2013-1821)” và “CVE-2014-8080: Lỗ hổng DoS mở rộng Parameter Entity trong REXML”. Lỗ hổng này đã được gán mã định danh CVE CVE-2014-8090. Chúng tôi khuyến nghị mạnh mẽ nâng cấp Ruby.
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 đó đã sửa mở rộng đệ quy ở nhiều nơi và tổng kích thước của các chuỗi được tạo. Tuy nhiên, chúng không tính đến giới hạn trước đó được sử dụng cho mở rộng entity. 100% CPU có thể bị sử dụng do mở rộng đệ quy với chuỗi rỗng. Khi đọc các nút văn bản từ tài liệu XML, bộ phân tích REXML có thể bị buộc phải cấp phát các đối tượng chuỗi cực lớn có thể tiêu thụ toàn bộ bộ nhớ trên máy, gây ra từ chối dịch vụ.
Mã bị ảnh hưởng sẽ trông như thế này:
require 'rexml/document'
xml = <<XML
<!DOCTYPE root [
# ENTITY expansion vector
]>
<cd></cd>
XML
p REXML::Document.new(xml)Tất cả người dùng đang chạy phiên bản bị ảnh hưởng nên nâng cấp hoặc sử dụng một trong các giải pháp tạm thời ngay lập tức.
Các phiên bản bị ảnh hưởng
- Tất cả phiên bản Ruby 1.9 trước Ruby 1.9.3 patchlevel 551
- Tất cả phiên bản Ruby 2.0 trước Ruby 2.0.0 patchlevel 598
- Tất cả phiên bản Ruby 2.1 trước Ruby 2.1.5
- trước trunk revision 48402
Giải pháp tạm thời
Nếu bạn không thể nâng cấp Ruby, hãy sử dụng monkey patch này làm giải pháp tạm thời:
class REXML::Document
def document
self
end
endGhi công
Cảm ơn Tomas Hoger đã báo cáo vấn đề này.
Lịch sử
- Công bố lần đầu vào 2014-11-13 12:00:00 UTC
Tin mới nhất
Phát hành Ruby 3.2.10
Ruby 3.2.10 đã được phát hành.
Đăng bởi hsbt vào 14 Jan 2026
Phát hành Ruby 4.0.1
Ruby 4.0.1 đã được phát hành.
Đăng bởi k0kubun vào 13 Jan 2026
Phát hành Ruby 4.0.0
Chúng tôi vui mừng thông báo phát hành Ruby 4.0.0. Ruby 4.0 giới thiệu “Ruby Box” và “ZJIT”, cùng nhiều cải tiến khác.
Đăng bởi naruse vào 25 Dec 2025
Diện mạo mới cho tài liệu Ruby
Tiếp theo việc thiết kế lại ruby-lang.org, chúng tôi có thêm tin vui để kỷ niệm 30 năm Ruby: docs.ruby-lang.org có diện mạo hoàn toàn...
Đăng bởi Stan Lo vào 23 Dec 2025