WEBrick має вразливість ін'єкції послідовностей екранування

Опублікував Urabe Shyouhei 10-01-2010
Переклав: Andrii Furmanets

Виявлено вразливість у WEBrick, частині стандартної бібліотеки Ruby. WEBrick дозволяє зловмисникам ін’єктувати зловмисні послідовності екранування до його логів, роблячи можливим виконання небезпечних контрольних символів на емуляторі терміналу жертви.

У нас вже є виправлення для цього. Випуски для всіх активних гілок будуть слідувати за цим оголошенням. Але на даний момент ми рекомендуємо вам уникати перегляду ваших логів WEBrick, поки ви не оновите ваш процес WEBrick.

Детальний опис

Послідовності екранування терміналу використовуються для дозволу різних форм взаємодії між терміналом та внутрішнім процесом. Проблема в тому, що ці послідовності не призначені для випуску ненадійними джерелами; такими як мережеві входи. Тому якщо віддалений зловмисник міг ін’єктувати послідовності екранування в логи WEBrick, і жертва випадково консультує їх через свій/свій термінал, зловмисник міг скористатися різними слабкостями в емуляторах терміналу.

І WEBrick не вдається відфільтрувати ці послідовності екранування терміналу.

Приклад:

% xterm -e ruby -rwebrick -e 'WEBrick::HTTPServer.new(:Port=>8080).start' &
% wget http://localhost:8080/%1b%5d%32%3b%6f%77%6e%65%64%07%0a

Стежте за заголовком вікна xterm.

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

  • Ruby 1.8.6 рівень патчу 383 та всі попередні версії
  • Ruby 1.8.7 рівень патчу 248 та всі попередні версії
  • Версії розробки Ruby 1.8 (1.8.8dev)
  • Ruby 1.9.1 рівень патчу 376 та всі попередні версії
  • Версії розробки Ruby 1.9 (1.9.2dev)

Рішення

Подяка

Подяка Giovanni “evilaliv3” Pellerano, Alessandro “jekil” Tanasi, та Francesco “ascii” Ongaro за виявлення цієї вразливості.

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

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

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