CVE-2015-7551: Sử dụng string nhiễm độc không an toàn ở Fiddle và DL
Đăng bởi usa vào 16 Dec 2015
Dịch bởi Nhat Tan
Có một lỗ hổng khi sử dụng string nhiễm độc không an toàn ở Fiddle và DL. Lỗ hổng này là đã được đánh dấu lỗi trên CVE CVE-2015-7551.
Chi tiết
Có một lỗ hổng string nhiễm độc không an toàn ở Fiddle và DL. Lỗi này ban đầu được báo cáo và sửa với CVE-2009-5147 ở DL, nhưng xuất hiện trở lại sau khi DL được triển khai lại bằng Fiddle và libffi.
Và, về DL, CVE-2009-5147 đã được sửa ở Ruby 1.9.1, nhưng không được sửa ở những nhánh khác, nên các phiên bản ruby được đóng gói cùng DL trừ Ruby 1.9.1 vẫn bị ảnh hưởng.
Mã bị ảnh hưởng trông giống như thế này:
handle = Fiddle::Handle.new(dangerous_user_input)Hoặc:
handle = Fiddle::Handle.new(some_library)
function_pointer = handle[dangerous_user_input]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 những giải pháp thay thế ngay lập tức.
Các phiên bản bị ảnh hưởng
- Tất cả các phiên bản vá lỗi của Ruby 1.9.2 và Ruby 1.9.3 (DL và Fiddle).
- Tất cả các phiên bản vá lỗi của Ruby 2.0.0 trước Ruby 2.0.0 bản vá 648 (DL và Fiddle).
- Tất cả các phiên bản của Ruby 2.1 trước Ruby 2.1.8 (DL và Fiddle).
- Tất cả các phiên bản của Ruby 2.2 trước Ruby 2.2.4 (Fiddle).
- Ruby 2.3.0 preview 1 và preview 2 (Fiddle).
- Trước sửa đổi đầu tiên 53153 (Fiddle).
Giải pháp
Nếu bạn không thể nâng cấp, bản vá tạm sau có thể được áp dụng như một giải pháp thay thế cho Fiddle:
class Fiddle::Handle
alias :old_initialize :initialize
def initialize file, *args
raise SecurityError if file.tainted? && $SAFE > 0
old_initialize file, *args
end
alias :sym :[]
alias :old_call :[]
def [] fun
raise SecurityError if fun.tainted? && $SAFE > 0
old_call fun
end
endNếu bạn đang dùng DL, hãy sử dụng Fiddle thay thế cho nó.
Công lao
Cảm ơn Christian Hofstaedtler zeha@debian.org đã thông báo lỗi này!
Lịch sử
- Phát hành lần đầu vào lúc 2015-12-16 12:00:00 UTC
Tin mới nhất
Ra mắt Ruby 2.4.1
Chúng tôi hân hạnh công bố ấn bản Ruby 2.4.1. Đấy là bản TEENY đầu tiên của chuỗi ấn bản ổn định 2.4.
Đăng bởi naruse vào 22 Mar 2017
Phát hành Ruby 2.4.0
Chúng tôi rất hân hạnh được thông báo về việc phát hành Ruby phiên bản 2.4.0.
Đăng bởi naruse vào 25 Dec 2016
Phát hành Ruby 2.4.0-rc1
Chúng tôi rất hân hạnh được thông báo về việc phát hành Ruby phiên bản 2.4.0-rc1.
Đăng bởi naruse vào 12 Dec 2016
Ruby ra mắt ấn bản 2.3.3
Ruby 2.3.3 mới được phát hành.
Đăng bởi nagachika vào 21 Nov 2016