CVE-2018-16396: Прапорці tainted не поширюються в Array#pack та String#unpack з деякими директивами
Опублікував usa 17-10-2018
Переклав: Andrii Furmanets
В Array#pack та String#unpack з деякими форматами, прапорці tainted
оригінальних даних не поширюються до поверненого рядка/масиву.
Цій вразливості присвоєно ідентифікатор CVE
CVE-2018-16396.
Деталі
Метод Array#pack перетворює вміст отримувача в рядок з
зазначеним форматом. Якщо отримувач містить деякі tainted об’єкти, повернений
рядок також повинен бути tainted. Метод String#unpack, який
перетворює отримувача в масив, також повинен поширювати його прапорець tainted
до об’єктів, що містяться в поверненому масиві.
Але, з директивами B, b, H, та h, прапорці tainted не
поширюються. Тому, якщо скрипт обробляє ненадійні входи через Array#pack
та/або String#unpack з цими директивами та перевіряє надійність
з прапорцями tainted, перевірка може бути неправильною.
Всі користувачі, які запускають зачеплений випуск, повинні оновитися негайно.
Зачеплені версії
- Серія Ruby 2.3: 2.3.7 та раніше
- Серія Ruby 2.4: 2.4.4 та раніше
- Серія Ruby 2.5: 2.5.1 та раніше
- Серія Ruby 2.6: 2.6.0-preview2 та раніше
- до ревізії trunk r65125
Подяка
Дякуємо Chris Seaton за повідомлення про проблему.
Історія
- Спочатку опубліковано 2018-10-17 14:00:00 (UTC)
Останні новини
Вийшов Ruby 3.2.10
Вийшов Ruby 3.2.10.
Опублікував hsbt 14-01-2026
Вийшов Ruby 4.0.1
Вийшов Ruby 4.0.1.
Опублікував k0kubun 13-01-2026
Вийшов 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