From d7b2f81610362d6128f766b63f55719a3b6b463f Mon Sep 17 00:00:00 2001 From: Andrii Furmanets Date: Wed, 22 Apr 2026 09:48:16 +0300 Subject: [PATCH] Add Ukrainian translations for 2026-04 news --- .../_posts/2026-04-21-erb-cve-2026-41316.md | 41 +++++++++++++++ .../_posts/2026-04-21-ruby-4-0-3-released.md | 50 +++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 uk/news/_posts/2026-04-21-erb-cve-2026-41316.md create mode 100644 uk/news/_posts/2026-04-21-ruby-4-0-3-released.md diff --git a/uk/news/_posts/2026-04-21-erb-cve-2026-41316.md b/uk/news/_posts/2026-04-21-erb-cve-2026-41316.md new file mode 100644 index 0000000000..3a67a314de --- /dev/null +++ b/uk/news/_posts/2026-04-21-erb-cve-2026-41316.md @@ -0,0 +1,41 @@ +--- +layout: news_post +title: "CVE-2026-41316: обхід захисту ERB @_init під час десеріалізації через def_module / def_method / def_class" +author: "k0kubun" +translator: "Andrii Furmanets" +date: 2026-04-21 07:51:00 +0000 +tags: security +lang: uk +--- + +Ми опублікували повідомлення з безпеки щодо CVE-2026-41316. + +## CVE-2026-41316: обхід захисту ERB `@_init` під час десеріалізації через `def_module` / `def_method` / `def_class` + +В ERB існує вразливість десеріалізації. Цій вразливості присвоєно ідентифікатор CVE [CVE-2026-41316](https://www.cve.org/CVERecord?id=CVE-2026-41316). Рекомендуємо оновити gem erb. + +### Сфера впливу + +Будь-який застосунок Ruby, який викликає `Marshal.load` для недовірених даних і має одночасно завантажені `erb` та `activesupport`, є вразливим до виконання довільного коду. Це включає: + +- **Застосунки Ruby on Rails, які імпортують недовірені серіалізовані дані** — будь-який застосунок Rails (кожен застосунок Rails завантажує як ActiveSupport, так і ERB), що використовує `Marshal.load` для кешування, імпорту даних або IPC +- **Інструменти Ruby, які імпортують недовірені серіалізовані дані** — будь-який інструмент, що використовує `Marshal.load` для кешування, імпорту даних або IPC +- **Старі застосунки Rails** (до 7.0), які досі використовують Marshal для серіалізації cookie-сесій + +### Деталі + +ERB реалізує захист `@_init`, щоб запобігти виконанню коду, коли об'єкти ERB відновлюються через `Marshal.load` з недовірених даних. Однак `ERB#def_method`, `ERB#def_module` та `ERB#def_class` оцінюють вихідний код шаблону без перевірки цього захисту, що дозволяє зловмиснику, який контролює дані, передані до `Marshal.load`, обійти захист і виконати довільний код. Зокрема, `def_module` не приймає аргументів, що робить його простим для виклику як частину ланцюжка ґаджетів десеріалізації. + +Будь ласка, оновіть gem erb до версії 4.0.3.1, 4.0.4.1, 6.0.1.1, 6.0.4 або новішої. + +### Уражені версії + +* gem erb версії 6.0.3 або старіші + +### Подяки + +Дякуємо [TristanInSec](https://github.com/TristanInSec) за виявлення цієї проблеми. + +## Історія + +* Початково опубліковано 2026-04-21 07:51:00 (UTC) diff --git a/uk/news/_posts/2026-04-21-ruby-4-0-3-released.md b/uk/news/_posts/2026-04-21-ruby-4-0-3-released.md new file mode 100644 index 0000000000..d5e0b6fe28 --- /dev/null +++ b/uk/news/_posts/2026-04-21-ruby-4-0-3-released.md @@ -0,0 +1,50 @@ +--- +layout: news_post +title: "Вийшов Ruby 4.0.3" +author: k0kubun +translator: "Andrii Furmanets" +date: 2026-04-21 08:45:44 +0000 +lang: uk +--- + +Вийшов Ruby 4.0.3. + +Цей реліз містить лише ERB 6.0.1.1, що виправляє [CVE-2026-41316](/uk/news/2026/04/21/erb-cve-2026-41316/). + +Якщо ваш застосунок викликає `Marshal.load` для недовірених даних і має одночасно завантажені `erb` та `activesupport`, будь ласка, оновіть ERB до версії 4.0.3.1, 4.0.4.1, 6.0.1.1, 6.0.4 або новішої. Для цього можна скористатися цим релізом Ruby 4.0.3. + +## Розклад релізів + +Ми плануємо випускати найновішу стабільну версію Ruby (наразі Ruby 4.0) кожні два місяці після останнього планового релізу. Ruby 4.0.4 вийде у травні, 4.0.5 — у липні, 4.0.6 — у вересні та 4.0.7 — у листопаді. + +Якщо з'явиться зміна, яка суттєво впливає на користувачів, реліз може відбутися раніше запланованого терміну, а наступний графік може відповідно зміститися. + +## Завантаження + +{% assign release = site.data.releases | where: "version", "4.0.3" | first %} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Коментар до релізу + +Багато комітерів, розробників і користувачів, які надсилали звіти про помилки, допомогли нам зробити цей реліз. +Дякуємо за їхній внесок.