Đăng bởi zzak vào 27 Oct 2014
Dịch bởi unrealhoang
Việc không kiểm soát thực thể giãn nở (expansion of entity) có thể dẫn đến lỗ hổng tấn công từ chối dịch vụ trong REXML. Lỗ hổng này đã được đánh dấu lỗi trên CVE CVE-2014-8080. Chúng tôi khuyến cáo bạn nên nâng cấp Ruby.
Chi tiết
Khi đọc những text node trong 1 tài liệu XML, bộ dịch REXML có thể bị ép buộc để cấp phát bộ nhớ cho các đối tượng chuỗi (string object) cực lớn, có thể chiếm hết toàn bộ bộ nhớ trên 1 máy, và gây ra lỗi từ chối dịch vụ.
Mã gây ảnh hưởng sẽ có thể nhìn gần giống như sau:
Tất cả người dùng đang chạy những phiên bản bị ảnh hưởng nên nâng cấp hoặc sử dụng một trong những phương pháp khắc phục ngay lập tức.
Phiên bản bị dính lỗi
- Tất cả phiên bản Ruby 1.9 trước Ruby 1.9.3 bản vá 550
- Tất cả phiên bản Ruby 2.0 trước Ruby 2.0.0 bản vá 594
- Tất cả phiên bản Ruby 2.1 trước Ruby 2.1.4
- tất cả phiên bản trước phiên bản 48161
Tạm vá
Nếu như bạn không thể nâng cấp Ruby, sử dụng cách vá sau để khắc phục trên các phiên bản Ruby 2.1.0+:
Với những phiên bản Ruby cũ hơn 2.1.0, bạn có thể dùng phương pháp sau để khắc phục:
Cảm ơn
Gửi lời cảm ơn tới Willis Vandevanter vì đã thông báo về vấn đề này.
Lịch sử
- Được công bố chính thức vào lúc 2014-10-27 12:00:00 (UTC)