CVE-2026-84383 в Ubuntu: heap overflow в libheif, уязвимые версии и защита

CVE: CVE-2026-84383
Продукт: Ubuntu
Дата публикации: 18.09.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,64%; процентиль 49,29%
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В libheif обнаружена критическая уязвимость, позволяющая удалённому атакующему вызвать heap out-of-bounds write через специально сформированный файл HEIF, HEIC или AVIF. В Ubuntu запись о CVE-2026-84383 была отозвана 16.09.2026, что требует уточнения статуса исправления. Статья разбирает механику атаки, затронутые версии пакетов и способы проверки системы.

Основные характеристики​


Риск связан с переполнением кучевой памяти при декодировании изображений, что может привести к удалённому выполнению кода. Атака не требует прав доступа или взаимодействия пользователя, если приложение обрабатывает вредоносный файл.

  • Тип ошибки: CWE-787 (Out-of-bounds write). Запись за пределы выделенного буфера.
  • CVSS 3.1: 9.8 (CRITICAL). Вектор: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
  • Условия атаки: Удалённый доступ (Network), низкая сложность, отсутствие прав (None), отсутствие UI (None).
  • Эксплуатация: Публичные данные о подтверждённой эксплуатации в реальных атаках отсутствуют.
  • EPSS: 0,64% (процентиль 49,29%). Вероятность эксплуатации в ближайшие 30 дней оценивается как низкая.

Какие продукты и версии затронуты​


Запись в базе Ubuntu OSV была отозвана 16.09.2026, что может означать пересмотр статуса или ошибку в данных. Тем не менее, исходные данные указывают на следующие версии пакетов libheif:

  • Ubuntu 18.04 LTS (Pro/ESM): 1.1.0-2ubuntu0.1~esm4
  • Ubuntu 20.04 LTS (Pro/ESM): 1.6.1-1ubuntu0.1~esm4
  • Ubuntu 22.04 LTS (Pro/ESM): 1.12.0-2ubuntu0.1~esm4
  • Ubuntu 24.04 LTS: 1.17.6-1ubuntu4.8
  • Ubuntu 26.04 LTS: 1.21.2-3ubuntu0.4

Затронуты бинарные пакеты: libheif1, heif-gdk-pixbuf, heif-thumbnailer, libheif-examples и плагины декодирования/кодирования (aom, dav1d, ffmpeg, j2k, jpeg, libde265).

Причина уязвимости​


Причина кроется в обработке графа элементов (item graph) в файлах HEIF/AVIF. Функция HeifPixelImage::transfer_channel_from_image_as() добавляет дублирующиеся Alpha-планы с разной глубиной битов (8-бит, 10-бит, 12-бит) в структуру m_storage.

Затем функция HeifPixelImage::scale_nearest_neighbor() выделяет память для целевого Alpha-плана, ориентируясь на глубину первого плана (8 бит). Однако при итерации последующих компонентов (10 или 12 бит) она записывает значения uint16_t в тот же 8-битный буфер. Это приводит к записи за границы выделенной памяти (heap out-of-bounds write).

Как работает атака​


Атакующий формирует файл HEIF, HEIC или AVIF со вложенными ссылками iden и auxl. При обработке такого файла функцией heif_decode_image() происходит переполнение кучевой памяти.

Геометрия выходного изображения контролирует размер переполнения, а закодированные значения образцов контролируют данные, которые записываются в память. Это позволяет атакующему повлиять на состояние памяти и потенциально выполнить произвольный код. Атака возможна удалённо, если приложение обрабатывает вредоносный файл без проверки подлинности.

Условия успешной эксплуатации​


Для успешной эксплуатации необходимо:

  • Наличие приложения, использующего уязвимую версию libheif для обработки файлов HEIF/HEIC/AVIF.
  • Возможность заставить приложение обработать специально сформированный файл (через загрузку, открытие или автоматическую обработку).
  • Отсутствие механизмов защиты, предотвращающих переполнение кучи (например, ASLR, DEP, если они не срабатывают в данном контексте).

Возможный сценарий атаки​


Атакующий отправляет жертве вредоносный файл HEIF через электронную почту или размещает его на веб-сайте. Жертва открывает файл в уязвимом просмотрщике или приложение автоматически обрабатывает его (например, при генерации миниатюр). Происходит переполнение кучевой памяти, что приводит к удалённому выполнению кода с правами пользователя, запустившего приложение.

Есть ли публичный эксплойт​


Публичные данные о подтверждённой эксплуатации в реальных атаках отсутствуют. В каталоге CISA KEV CVE-2026-84383 не числится. Однако наличие технического описания и исправления в версии 1.23.2 указывает на то, что уязвимость известна разработчикам и может быть использована атакующими.

Признаки эксплуатации​


Специфичные IOC для этой уязвимости не опубликованы. Общие точки контроля (неспецифичные):

  • Логи приложений, обрабатывающих изображения HEIF/AVIF, на предмет ошибок сегментации (segfault) или аварийных завершений.
  • Мониторинг процессов, использующих libheif, на предмет аномального потребления памяти или попыток выполнения кода.
  • Проверка журналов безопасности на предмет подозрительных файлов HEIF/AVIF, полученных из внешних источников.

Как обнаружить атаку​


Для обнаружения атаки рекомендуется:

  • Анализ логов приложений, использующих libheif, на предмет аварийных завершений при обработке изображений.
  • Использование инструментов мониторинга целостности файлов (FIM) для отслеживания изменений в бинарных файлах, связанных с libheif.
  • Проверка системных журналов на предмет подозрительной активности процессов, связанных с обработкой изображений.

Как проверить свою версию​


Проверьте установленную версию libheif и статус безопасности системы:

Bash:
cat /etc/os-release
uname -r
apt-cache policy libheif
ubuntu-security-status

Замените <имя-пакета> на libheif в команде apt-cache policy, если вы проверяете конкретный пакет. Команда ubuntu-security-status покажет, есть ли доступные обновления безопасности для вашей системы.

Исправление​


Основное исправление — обновление libheif до версии 1.23.2 или выше. Для пользователей Ubuntu:

  • Проверьте статус записи CVE-2026-84383 на официальной странице Ubuntu, так как запись была отозвана.
  • Если обновление доступно, выполните sudo apt update && sudo apt upgrade.
  • Для версий, не получивших официального обновления, рассмотрите возможность отключения обработки файлов HEIF/AVIF или использования альтернативных библиотек.

Временные меры защиты​


Пока обновление не установлено:

  • Ограничьте обработку файлов HEIF/HEIC/AVIF в приложениях, использующих libheif.
  • Используйте песочницу (sandbox) для приложений, обрабатывающих изображения из недоверенных источников.
  • Отключите автоматическую генерацию миниатюр для файлов HEIF/AVIF, если это возможно в настройках приложения.

Как проверить устранение уязвимости​


После обновления проверьте версию пакета:

Bash:
apt-cache policy libheif

Убедитесь, что установленная версия не ниже 1.23.2. Также можно проверить, что ubuntu-security-status не показывает уязвимости, связанные с libheif.

Вывод​


CVE-2026-84383 представляет серьёзный риск для систем, использующих уязвимые версии libheif. Несмотря на отзыв записи в Ubuntu OSV, рекомендуется проверить статус исправления и обновить пакет, если это возможно. При отсутствии официального обновления примите временные меры по ограничению обработки файлов HEIF/AVIF.

Официальные источники​


  1. NVD — CVE-2026-84383
  2. Ubuntu OSV — CVE-2026-84383
  3. FIRST EPSS — CVE-2026-84383

История обновлений статьи​


  • 20.09.2026 — Опубликована первая версия материала.
 
Назад
Верх Низ