Вразливість обходу $SAFE щодо Exception#to_s / NameError#to_s (CVE-2012-4464, CVE-2012-4466)

Опублікував usa 12-10-2012
Переклав: Andrii Furmanets

Виявлено вразливості для Exception#to_s, NameError#to_s, та name_err_mesg_to_s(), яка є внутрішньою API інтерпретатора Ruby. Зловмисний код користувача може обійти перевірку $SAFE, використовуючи одну з цих дірок безпеки.

Деталі

Механізм $SAFE Ruby дозволяє ненадійним кодам користувачів працювати в режимі $SAFE >= 4. Це свого роду пісочниця, тому деякі операції обмежені в цьому режимі, щоб захистити інші дані поза пісочницею.

Проблема, знайдена, була навколо цього механізму. Exception#to_s, NameError#to_s, та внутрішня API інтерпретатора name_err_mesg_to_s() не обробляли правильно біти $SAFE, тому об’єкт String, який не є таїнтованим, може деструктивно бути позначений як таїнтований, використовуючи їх. Використовуючи це, ненадійний код у пісочниці може модифікувати раніше нетаїнтований рядок деструктивно.

Ruby 1.8 колись мав схожу проблему безпеки. Він виправив Exception#to_s та NameError#to_s, але проблема name_err_mesg_to_str() пережила попереднє виправлення безпеки.

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

  • всі Ruby 1.8.7 до рівня патчу 371
  • всі Ruby 1.9.3 до рівня патчу 286
  • всі гілки розробки Ruby 2.0 до ревізії r37068

Рішення

Оновіться до останньої версії.

Подяка

Цю вразливість знайшов Tyler Hickes.

Оновлення

  • Спочатку опубліковано 2012-10-12 19:17:50 JST.

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

Вийшов 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

Вийшов Ruby 4.0.0 preview3

Раді повідомити про вихід Ruby 4.0.0-preview3. Ruby 4.0 вводить Ruby::Box і “ZJIT” та додає багато покращень.

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

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