CVE-2019-15845: Lỗ hổng chèn NUL trong File.fnmatch và File.fnmatch?

Đăng bởi mame vào 1 Oct 2019

Một lỗ hổng chèn NUL trong các phương thức tích hợp của Ruby (File.fnmatchFile.fnmatch?) đã được phát hiện. Kẻ tấn công có quyền kiểm soát tham số mẫu đường dẫn có thể khai thác lỗ hổng này để khiến việc khớp đường dẫn vượt qua bất chấp ý định của tác giả chương trình. CVE-2019-15845 đã được gán cho lỗ hổng này.

Chi tiết

Các phương thức tích hợp File.fnmatch và bí danh của nó File.fnmatch? nhận mẫu đường dẫn làm tham số đầu tiên. Khi mẫu chứa ký tự NUL (\0), các phương thức nhận diện rằng mẫu đường dẫn kết thúc ngay trước byte NUL. Do đó, một script sử dụng đầu vào bên ngoài làm tham số mẫu, kẻ tấn công có thể khiến nó khớp sai với một tên đường dẫn là tham số thứ hai.

Tất cả người dùng đang chạy bất kỳ phiên bản bị ảnh hưởng nào nên nâng cấp càng sớm càng tốt.

Phiên bản bị ảnh hưởng

  • Tất cả các bản phát hành từ Ruby 2.3 trở về trước
  • Dòng Ruby 2.4: Ruby 2.4.7 và trước đó
  • Dòng Ruby 2.5: Ruby 2.5.6 và trước đó
  • Dòng Ruby 2.6: Ruby 2.6.4 và trước đó
  • Ruby 2.7.0-preview1
  • trước commit master a0a2640b398cffd351f87d3f6243103add66575b

Ghi nhận

Cảm ơn ooooooo_q đã phát hiện vấn đề này.

Lịch sử

  • Được công bố lần đầu vào 2019-10-01 11: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...