Lỗ hổng Net::HTTPS

Đăng bởi Shugo Maeda vào 4 Oct 2007

Một lỗ hổng trong thư viện net/https đã được báo cáo.

Thông tin chi tiết có thể được tìm thấy tại thông báo gốc: <URL:http://www.isecpartners.com/advisories/2007-006-rubyssl.txt>

Tác động

Lỗ hổng tồn tại trong phương thức connect bên trong tệp http.rb, không gọi post_connection_check sau khi kết nối SSL đã được thương lượng. Vì CN của chứng chỉ máy chủ không được xác thực với tên DNS được yêu cầu, kẻ tấn công có thể mạo danh máy chủ đích trong kết nối SSL. Các lợi ích về toàn vẹn và bảo mật của SSL do đó bị loại bỏ.

Các phiên bản bị ảnh hưởng

1.8 series
  • 1.8.4 và tất cả các phiên bản trước đó
  • 1.8.5-p113 và tất cả các phiên bản trước đó
  • 1.8.6-p110 và tất cả các phiên bản trước đó
Phiên bản phát triển (1.9 series)
Tất cả các phiên bản trước 2006-09-23

Giải pháp

1.8 series

Vui lòng nâng cấp lên 1.8.6-p111 hoặc 1.8.5-p114.

Sau đó bạn nên sử dụng Net::HTTP#enable_post_connection_check= để bật post_connection_check.

http = Net::HTTP.new(host, 443)
http.use_ssl = true
http.enable_post_connection_check = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
store = OpenSSL::X509::Store.new
store.set_default_paths
http.cert_store = store
http.start {
  response = http.get("/")
}

Xin lưu ý rằng gói sửa lỗi này có thể đã có sẵn qua phần mềm quản lý gói của bạn.

Phiên bản phát triển (1.9 series)
Vui lòng cập nhật Ruby lên phiên bản sau 2006-09-23. Giá trị mặc định của Net::HTTP#enable_post_connection_check là true trên Ruby 1.9.

Thay đổi

  • 2007-10-04 16:30 +09:00 thêm mô tả cho enable_post_connection_check vào phần `Giải pháp'.

Tin mới nhất

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

Thêm Tin...