Новости
MKVToolNix 101.0: обновление инструментария MKV
Предыдущий релиз MKVToolNix с обновлением библиотек libEBML и libMatroska и исправлениями TrueHD-парсера.
MKVToolNix — набор инструментов для создания, редактирования и проверки контейнеров Matroska (MKV, MKA, MKS). 14 сентября 2026 вышла версия 102.0 с кодовым именем «Little Houses»: в ней закрыта уязвимость CVE-2026-90783 — heap overflow при разборе AVI-файлов через mkvmerge — и исправлена регрессия GUI-запуска программ, поломанная в версии 100.

Коротко: 14 сентября 2026 вышел MKVToolNix 102.0. Основное изменение — security-патч CVE-2026-90783: целочисленное переполнение без знака в ODML superindex библиотеки avilib вызывало heap overflow при обработке специально сформированного AVI-файла. Уязвимость затрагивает только mkvmerge — остальные инструменты (mkvinfo, mkvextract, mkvpropedit) AVI не читают. Дополнительно исправлена регрессия из версии 100: переменные <MTX_…> снова подставляются в аргументы программ, запускаемых через GUI.
MKVToolNix — это open-source пакет утилит для работы с контейнерным форматом Matroska. По данным официального сайта mkvtoolnix.download, пакет включает четыре основных инструмента: mkvmerge — мультиплексор для упаковки видео, аудио и субтитров в контейнер MKV; mkvinfo — для просмотра структуры MKV-файлов; mkvextract — для извлечения дорожек; mkvpropedit — для редактирования метаданных без перекодирования. MKVToolNix GUI обёртывает все эти утилиты в графический интерфейс.
Версия 102.0 вышла 14 сентября 2026 — необычно быстро после версии 101.0, что, по словам автора Moritz Bunkus, почти всегда означает наличие security-исправления. Предыдущее обновление MKVToolNix 101.0 выходило в августе 2026.
Ключевое исправление версии 102.0 — закрытие уязвимости CVE-2026-90783, обнаруженной исследователем Tristan Madani. Уязвимость находится в библиотеке avilib, которую mkvmerge использует для чтения AVI-файлов при конвертации в MKV.
При разборе ODML superindex специально сформированного AVI-файла происходило беззнаковое целочисленное переполнение (unsigned integer wraparound) в 32-битной арифметике. В результате вычисленный размер буфера оказывался меньше реально необходимого, а последующая запись данных выходила за его пределы — heap buffer overflow. Атакующий мог эксплуатировать проблему, передав жертве вредоносный AVI-файл для конвертации через mkvmerge.
Важное ограничение: согласно официальному анонсу bunkus.org, уязвимость затрагивает исключительно mkvmerge. Остальные инструменты пакета — mkvinfo, mkvextract и mkvpropedit — AVI-файлы не читают и CVE-2026-90783 не подвержены.
Чтобы понять природу проблемы, важно знать структуру AVI. Стандартный формат AVI (Audio Video Interleave) имеет ограничение на размер файла — около 2 ГБ, связанное с 32-битными смещениями. Расширение OpenDML (ODML), известное также как AVI 2.0, снимает это ограничение за счёт иерархической системы индексов: superindex содержит список chunk-блоков, каждый из которых указывает на subindex с реальными данными о кадрах.
| Компонент | Роль | Проблема в CVE-2026-90783 |
|---|---|---|
| ODML superindex | Список блоков данных в большом AVI | Поле entry count управляется атакующим |
| avilib (32-бит арифметика) | Вычисляет размер буфера: count × entry_size | При большом count произведение переполняется, размер занижается |
| Выделение кучи | malloc(занижённый_размер) | Буфер меньше, чем требуется для данных |
| Чтение данных | Заполнение буфера реальными записями | Запись за границу буфера — heap overflow |
Исправление в версии 102.0 добавляет проверку значения entry count до вычисления размера буфера, предотвращая переполнение. Техника целочисленного переполнения при вычислении размера аллокации — распространённый паттерн уязвимостей в парсерах файловых форматов; аналогичные проблемы фиксировались в обработчиках различных бинарных форматов.
Второе изменение версии 102.0 касается пользователей MKVToolNix GUI, настроивших автоматический запуск программ по завершении мультиплексирования. В GUI есть опция «Действия по завершении» → «Запустить программу», куда можно передать аргументы с переменными вида <MTX_SOURCE_FILE_NAME>, <MTX_DESTINATION_FILE_NAME> и другими — они заменяются реальными значениями при запуске.
В версии 100 (август 2026) была допущена регрессия: переменные <MTX_…> перестали подставляться в аргументы — программа запускалась с буквальными строками вместо значений. Проблема зафиксирована в трекере под номером #6306. Версия 102.0 восстанавливает корректное поведение.
Регрессия затронула пользователей, автоматизирующих постобработку MKV: например, скрипты переименования, уведомления через мессенджеры или передачу готового файла другому приложению через GUI-действие «запустить программу». Начиная с версии 100, такая автоматизация молча не работала.
Обновление до 102.0 актуально для двух категорий пользователей:
<MTX_…>, обновление восстанавливает эту функцию.Если вы используете mkvinfo, mkvextract или mkvpropedit без конвертации AVI — уязвимость CVE-2026-90783 вас не затрагивает, но обновление до актуальной версии всё равно рекомендуется в рамках общей гигиены.
winget upgrade MoritzBunkus.MKVToolNix. Windows-пакеты были доступны в день релиза.brew upgrade mkvtoolnix. Или скачайте .dmg-образ с официального сайта — его публикация следует за Windows-пакетами в течение нескольких часов после релиза.chmod +x MKVToolNix*.AppImage и запустите.apt upgrade mkvtoolnix или dnf upgrade mkvtoolnix после обновления индекса пакетов.После обновления убедитесь в версии: mkvmerge --version должна вернуть mkvmerge v102.0.0. Если вы регулярно работаете с AVI-файлами из внешних источников, проверьте их на предмет аномальных значений в ODML-блоках или просто обновитесь — это надёжнее. Дополнительно о безопасности файловых форматов читайте в разделе «Безопасность» нашего сайта.