CVE-2024-27280: Lỗ hổng đọc vượt bộ đệm trong StringIO

Đăng bởi hsbt vào 21 Mar 2024

Chúng tôi đã phát hành gem StringIO phiên bản 3.0.1.1 và 3.0.1.2 bao gồm bản vá bảo mật cho lỗ hổng đọc vượt bộ đệm. Lỗ hổng này được gán mã định danh CVE CVE-2024-27280.

Chi tiết

Một vấn đề đã được phát hiện trong StringIO 3.0.1, được phân phối cùng Ruby 3.0.x đến 3.0.6 và 3.1.x đến 3.1.4.

Các phương thức ungetbyteungetc trên StringIO có thể đọc vượt quá cuối chuỗi, và lệnh gọi tiếp theo đến StringIO.gets có thể trả về giá trị bộ nhớ.

Lỗ hổng này không ảnh hưởng đến StringIO 3.0.3 và các phiên bản mới hơn, cũng như Ruby 3.2.x và các phiên bản mới hơn.

Hành động khuyến nghị

Chúng tôi khuyến nghị cập nhật gem StringIO lên phiên bản 3.0.3 hoặc mới hơn. Để đảm bảo tương thích với phiên bản đi kèm trong các dòng Ruby cũ hơn, bạn có thể cập nhật như sau:

  • Người dùng Ruby 3.0: Cập nhật lên stringio 3.0.1.1
  • Người dùng Ruby 3.1: Cập nhật lên stringio 3.0.1.2

Lưu ý: StringIO 3.0.1.2 không chỉ chứa bản sửa cho lỗ hổng này mà còn có sửa lỗi cho [Bug #19389].

Bạn có thể sử dụng gem update stringio để cập nhật. Nếu bạn đang sử dụng bundler, vui lòng thêm gem "stringio", ">= 3.0.1.2" vào Gemfile của bạn.

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

  • Ruby 3.0.6 trở xuống
  • Ruby 3.1.4 trở xuống
  • Gem StringIO 3.0.1 trở xuống

Ghi nhận

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

Lịch sử

  • Sửa phiên bản bị ảnh hưởng của StringIO (3.0.2 -> 3.0.1) vào 2024-04-11 12:50:00 (UTC)
  • Công bố lần đầu vào 2024-03-21 4: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...