Lỗ hổng DoS trong BigDecimal
Đăng bởi Urabe Shyouhei vào 9 Jun 2009
Một lỗ hổng từ chối dịch vụ (DoS) đã được phát hiện trong thư viện chuẩn BigDecimal của Ruby. Việc chuyển đổi từ đối tượng BigDecimal sang số Float có một vấn đề cho phép kẻ tấn công gây ra lỗi segfault.
ActiveRecord dựa vào phương thức này, nên hầu hết các ứng dụng Rails đều bị ảnh hưởng. Tuy nhiên đây không phải là vấn đề riêng của Rails.
Tác động
Kẻ tấn công có thể gây ra từ chối dịch vụ bằng cách khiến BigDecimal phân tích một số cực lớn, chẳng hạn như:
BigDecimal("9E69999999").to_s("F")
Các phiên bản bị ảnh hưởng
Dòng 1.8
- 1.8.6-p368 và tất cả các phiên bản trước đó
- 1.8.7-p160 và tất cả các phiên bản trước đó
Dòng 1.9
- Tất cả các phiên bản 1.9.1 không bị ảnh hưởng bởi vấn đề này
Giải pháp
Dòng 1.8
Vui lòng nâng cấp lên 1.8.6-p369 hoặc ruby-1.8.7-p174.
- https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p369.tar.gz
- https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
Cập nhật
- Ruby 1.8.7-p173 có một vấn đề. Nếu bạn đã tải về, vui lòng lấy phiên bản mới hơn. Ruby 1.8.6-p369 không có lỗi này.
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