Вразливості Libxml2: наслідки та ризики безпеки

У бібліотеці Libxml2 виявлено 5 вразливостей: потенційні ризики для безпеки

У бібліотеці Libxml2, що розробляється проектом GNOME та використовується для розбору вмісту у форматі XML, виявлено 5 вразливостей, дві з яких потенційно можуть призвести до виконання коду при обробці спеціально оформлених зовнішніх даних. Бібліотека Libxml2 широко поширена в відкритих проектах і, наприклад, використовується як залежність у понад 800 пакетах зі складу Ubuntu.

Критична вразливість у інтерактивній оболонці xmllint

Вразливість CVE-2025-6170 спричинена переповненням буфера в реалізації інтерактивної оболонки xmllint, що застосовується для розбору XML-файлів. Переповнення виникає при обробці дуже довгих аргументів команд через відсутність коректної перевірки розміру вхідних даних перед копіюванням даних функцією strcpy().

Для експлуатації вразливості атакуючий повинен мати можливість впливати на команди, що передаються в утиліту xmllint. Патч для усунення вразливості поки недоступний.

Проблема запису даних за межами буфера

Друга потенційно небезпечна вразливість CVE-2025-6021 присутня в реалізації функції xmlBuildQName() і призводить до запису даних за межами буфера через цілочисельне переповнення при обчисленні розміру буфера на основі префікса та локальної назви.

Для усунення вразливості підготовлено патч. Виправлення включено до складу випуску libxml2 2.14.4. Крім того, розробники різних дистрибутивів Linux працюють над впровадженням цих виправлень у свої пакети.

Додаткові проблеми в Libxml2

Решта три проблеми призводять до аварійного завершення через наступні причини:

  • Звернення до вже звільненої області пам’яті в функції xmlSchematronGetNode (CVE-2025-49794)
  • Розіменування нульового покажчика в функції xmlXPathCompiledEval (CVE-2025-49795)
  • Неправильна обробка типів у функції xmlSchematronFormatReport (CVE-2025-49796)

Для усунення даних вразливостей розглядається можливість видалення з libxml2 підтримки мови розмітки Schematron.

Вразливості в пов’язаних проектах

Додатково відзначається наявність трьох невиправлених вразливостей у бібліотеці libxslt, що залишилася без активного супроводжуючого. Інформація щодо цих проблем поки не розкривається і запланована до публікації 9 липня, 13 липня та 6 серпня.

Невиправлені та публічно не оприлюднені вразливості також відзначаються в пов’язаних з GNOME проектах gvfs, libgxps, gdm, glib, GIMP і libsoup.

Зважаючи на широке використання Libxml2 у багатьох проектах з відкритим кодом, рекомендується слідкувати за оновленнями та якнайшвидше встановлювати патчі після їх випуску.

Користувачі можуть дізнатися більше про Libxml2 на офіційному сайті проекту.