Tràn bộ nhớ Heap trong phân tích YAML URI Escape (CVE-2014-2525)
Đăng bởi hone and zzak vào 29 Mar 2014
Có một lỗi tràn bộ nhớ trong phân tích URI escape của YAML trong Ruby. Lỗ hổng này đã được gán mã định danh CVE CVE-2014-2525.
Chi tiết
Bất cứ khi nào một chuỗi trong YAML có tag được phân tích, một chuỗi được tạo đặc biệt có thể gây ra tràn heap dẫn đến thực thi mã tùy ý.
Ví dụ:
YAML.load <code_from_unknown_source>Các phiên bản bị ảnh hưởng
Ruby 1.9.3-p0 trở lên bao gồm psych làm bộ phân tích YAML mặc định.
Bất kỳ phiên bản psych nào liên kết với libyaml <= 0.1.5 đều bị ảnh hưởng.
Và, các phiên bản Ruby sau đi kèm phiên bản libyaml bị ảnh hưởng:
- Ruby 2.0.0-p451 và trước đó,
- Ruby 2.1.0 và Ruby 2.1.1.
Bạn có thể xác minh phiên bản libyaml đang sử dụng bằng lệnh:
$ ruby -rpsych -e 'p Psych.libyaml_version'
[0, 1, 5]Giải pháp
Người dùng cài đặt libyaml trên hệ thống được khuyến nghị cập nhật libyaml lên 0.1.6.
Khi biên dịch lại Ruby, trỏ đến libyaml vừa cập nhật:
$ ./configure --with-yaml-dir=/path/to/libyamlNgười dùng không có libyaml hệ thống dựa vào libyaml nhúng được khuyến nghị
cập nhật psych lên 2.0.5 có đi kèm libyaml 0.1.6:
$ gem install psychhoặc, cập nhật Ruby của bạn lên 2.0.0-p481, 2.1.2 hoặc mới hơn.
Lịch sử
- Công bố lần đầu vào 2014-03-29 01:49:25 UTC
- Cập nhật công bố vào 2014-03-29 09:37:00 UTC
- Cập nhật công bố vào 2014-05-09 03:00:00 UTC
Tin mới nhất
Phát hành Ruby 3.2.10
Ruby 3.2.10 đã được phát hành.
Đăng bởi hsbt vào 14 Jan 2026
Phát hành Ruby 4.0.1
Ruby 4.0.1 đã được phát hành.
Đăng bởi k0kubun vào 13 Jan 2026
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