Переповнення купи при парсингу екранування URI YAML (CVE-2014-2525)

Опублікував hone and zzak 29-03-2014
Переклав: Andrii Furmanets

Є переповнення при парсингу екранування URI YAML в Ruby. Цій вразливості присвоєно ідентифікатор CVE CVE-2014-2525.

Деталі

Кожного разу, коли парситься рядок у YAML з тегами, спеціально сконструйований рядок може спричинити переповнення купи, яке може призвести до виконання довільного коду.

Наприклад:

YAML.load <code_from_unknown_source>

Зачеплені версії

Ruby 1.9.3-p0 та вище включають psych як парсер YAML за замовчуванням. Будь-які версії psych, пов’язані з libyaml <= 0.1.5, зачеплені.

І, ці версії Ruby включають зачеплену версію libyaml:

  • Ruby 2.0.0-p451 та раніше,
  • Ruby 2.1.0 та Ruby 2.1.1.

Ви можете перевірити версію libyaml, використовуючи:

$ ruby -rpsych -e 'p Psych.libyaml_version'
[0, 1, 5]

Рішення

Користувачам, які встановлюють libyaml у систему, рекомендується оновити libyaml до 0.1.6. При перекомпіляції Ruby, вкажіть на ново оновлений libyaml:

$ ./configure --with-yaml-dir=/path/to/libyaml

Користувачі без системного libyaml покладаються на вбудований libyaml і їм рекомендується оновити psych до 2.0.5, який включає libyaml 0.1.6:

$ gem install psych

або оновіть ваш Ruby до 2.0.0-p481, 2.1.2 або новішої.

Історія

  • Спочатку опубліковано 2014-03-29 01:49:25 UTC
  • Оновлення опубліковано 2014-03-29 09:37:00 UTC
  • Оновлення опубліковано 2014-05-09 03:00:00 UTC

Останні новини

Вийшов Ruby 4.0.0

Ми раді повідомити про випуск Ruby 4.0.0. Ruby 4.0 представляє “Ruby Box” та “ZJIT”, а також додає багато покращень.

Опублікував naruse 25-12-2025

Новий вигляд документації Ruby

Слідом за ре-дизайном ruby-lang.org, ми маємо більше новин, щоб відсвяткувати 30-річчя Ruby: docs.ruby-lang.org має повністю новий вигляд завдяки Aliki — новій темі за замовчуванням для...

Опублікував Stan Lo 23-12-2025

Більше новин...