У бібліотеці zip-rs, написаній мовою Rust і що налічує близько 10 млн завантажень на тиждень, виявлено вразливість (CVE-2026-115905), що дозволяє створювати архіви, які виглядають невинними, але при розпаковуванні з них витягуються інші, спочатку не показані в списку файл. Файли можуть бути розміщені в архіві поза структурою "Central Directory", через що при перегляді списку файлів показується один вміст, але при розпакуванні через API ZipStreamReader виймаються інші файли. Проблемі надано рівень небезпеки 10 з 10. Вразливість виправлена у версії zip-rs 9.0.5.
Вразливість викликана використанням різних заголовків при довільному доступі до архіву за допомогою API ZipArchive та витягу даних в потоковому режимі за допомогою API ZipStreamReader. Обробник ZipArchive покладається на заголовок CDFH (Central Directory File Header), а ZipStreamReader при вилученні файлів вважає пріоритетним заголовок LFH (Local File Header) без синхронізації метаданих, що дублюються.
Вразливість може використовуватися для обходу поштових фільтрів, антивірусних сканерів та інших систем безпеки. Атакуючий може розмістити у видимій частині архіві документ або зображення, а в приховану помістити файл, що виконується, зі шкідливим кодом, який не буде помічений антивірусом, але буде збережений на диск при розпакуванні користувачем. Як приклади наводяться атаки на мікросервіси, SaaS-платформи і системи контейнерної ізоляції, в ході яких при розпакуванні в каталогах з робочими проектами архівів, що не становлять небезпеки, наприклад, з наборами стилів, текстових файлів або зображень, можуть бути перезаписані скрипти і виконувані файли.
Додатково можна відзначити вразливість (CVE-2026-96889) у бібліотеці librsvg, що розвивається проектом GNOME мовою Rust. Бібліотека застосовується в GTK та додатках GNOME для малювання SVG, а також задіяна в популярному NPM-пакеті sharp, що налічує 80 млн завантажень на тиждень і використовується як залежність у майже 11 тисяч проектів. Вразливість дозволяє організувати виконання свого коду під час обробки спеціально оформлених SVG-зображень. Проблема усунена у версіях librsvg 2.56.6, 2.60.3, 2.62.4 та 2.63.1, а також до NPM-пакету sharp 0.35.5. Серед постраждалих проектів виявилася платформа PeerTube (залежність оновлена у випуску PeerTube 8.3.2).
Для розбору XML-розмітки, що використовується в SVG-файлах, в librsvg задіяні функції з Бібліотеки libxml2. Вразливість викликана тим, що при наявності в SVG вкладених XML-конструкцій Xincludes, що включають дублюючі елементи з іменами, що повторюються, відбувається звернення до пам'яті після її звільнення. Збій виникає тому, що бібліотека librsvg звільняє пам'ять під XML-елементи, які ще продовжують використовуватися в парсері libxml2.
Джерело: opennet.ru
