Lỗ hổng Hash-flooding DoS cho ruby 1.9 (CVE-2012-5371)
Đăng bởi usa vào 9 Nov 2012
Tấn công Hash-flooding DoS đã được báo cáo cho hàm Hash mà dòng ruby 1.9 sử dụng. Lỗ hổng này khác với CVE-2011-4815 cho ruby 1.8.7. Tất cả người dùng ruby 1.9 được khuyến nghị nâng cấp lên ruby-1.9.3 patchlevel 327 để nhận bản vá bảo mật này.
Tác động
Chuỗi các chuỗi ký tự được tạo cẩn thận có thể gây ra tấn công từ chối dịch vụ trên dịch vụ phân tích chuỗi đó để tạo đối tượng Hash bằng cách sử dụng các chuỗi ký tự làm khóa. Ví dụ, lỗ hổng này ảnh hưởng đến ứng dụng web phân tích dữ liệu JSON gửi từ thực thể không đáng tin cậy.
Chi tiết
Lỗ hổng này tương tự với CVE-2011-4815 cho ruby 1.8.7. Các phiên bản ruby 1.9 sử dụng hàm MurmurHash đã sửa đổi nhưng đã được báo cáo rằng có cách tạo chuỗi các chuỗi ký tự mà giá trị hash của chúng va chạm với nhau. Bản vá này thay đổi hàm Hash của đối tượng String từ MurmurHash sang SipHash 2-4.
Giải pháp
Vui lòng cập nhật lên ruby-1.9.3 patchlevel 327 nếu bạn đang sử dụng phiên bản ruby 1.9. Vui lòng cập nhật lên trunk revision 37575 trở lên nếu bạn đang sử dụng ruby 2.0.0 preview1 hoặc ruby trunk. Ngoài ra, tất cả các ứng dụng ruby chấp nhận dữ liệu đầu vào từ thực thể không đáng tin cậy để phân tích nên giới hạn kích thước dữ liệu đầu vào ở mức hợp lý. Chúng tôi không chắc liệu có thể cung cấp bảo vệ chống lại loại lỗ hổng này ở cấp độ ngôn ngữ lập trình trong tương lai hay không.
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 327
- Tất cả phiên bản ruby 2.0 (bao gồm 2.0.0 preview1) trước trunk revision 37575
Ghi nhận
Lỗ hổng này được báo cáo bởi Jean-Philippe Aumasson, một trong những người thiết kế SipHash. Triển khai SipHash gốc cho bản vá này được trình bày bởi Martin Boßlet, một trong những committer của Ruby.
Cập nhật
- Đã sửa lỗi chính tả vào 2012-11-21 22:16:00
- Ban đầu được đăng vào 2012-11-10 04:23:00
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