CVE-2018-8779: Tạo socket ngoài ý muốn bằng byte NUL độc hại trong UNIXServer và UNIXSocket

Đăng bởi usa vào 28 Mar 2018

Có một lỗ hổng tạo socket ngoài ý muốn trong phương thức UNIXServer.open của thư viện socket đi kèm với Ruby. Và cũng có lỗ hổng truy cập socket ngoài ý muốn trong phương thức UNIXSocket.open. Lỗ hổng này đã được gán mã định danh CVE CVE-2018-8779.

Chi tiết

UNIXServer.open nhận đường dẫn của socket sẽ được tạo làm tham số đầu tiên. Nếu đường dẫn chứa byte NUL (\0), phương thức này nhận diện rằng đường dẫn kết thúc trước byte NUL. Vì vậy, nếu một script nhận đầu vào bên ngoài làm đối số của phương thức này, kẻ tấn công có thể tạo tệp socket tại đường dẫn ngoài ý muốn. Và, UNIXSocket.open cũng nhận đường dẫn của socket sẽ được tạo làm tham số đầu tiên mà không kiểm tra byte NUL giống như UNIXServer.open. Vì vậy, nếu một script nhận đầu vào bên ngoài làm đối số của phương thức này, kẻ tấn công có thể truy cập tệp socket tại đường dẫn ngoài ý muốn.

Tất cả người dùng đang chạy phiên bản bị ảnh hưởng nên nâng cấp ngay lập tức.

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

  • Ruby dòng 2.2: 2.2.9 trở về trước
  • Ruby dòng 2.3: 2.3.6 trở về trước
  • Ruby dòng 2.4: 2.4.3 trở về trước
  • Ruby dòng 2.5: 2.5.0 trở về trước
  • Ruby dòng 2.6: 2.6.0-preview1
  • trước trunk revision r62991

Ghi công

Cảm ơn ooooooo_q đã báo cáo vấn đề này.

Lịch sử

  • Công bố lần đầu vào 2018-03-28 14:00:00 (UTC)

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...