Открыл архив — выполнил вредоносный код. 7-Zip приготовил неприятный сюрприз для пользователей
NewsMakerЗнакомая утилита оказалась куда опаснее, чем казалась на первый взгляд.
В 7-Zip нашли уязвимость , из-за которой обычное открытие специально подготовленного образа могло закончиться не ошибкой распаковки, а выполнением вредоносного кода. Проблема затрагивает обработку NTFS-архивов и опасна тем, что расширение файла не играет решающей роли: вредоносный образ может выглядеть как архив другого формата или вовсе не иметь привычного окончания.
Уязвимость получила идентификатор CVE-2026-48095 и оценку 8.8 по шкале CVSS 3.1 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H). Команда GitHub Security Lab сообщила о проблеме разработчикам 7-Zip 24 апреля 2026 года, а уже 27 апреля вышла версия 26.01 с исправлением. Ошибка подтверждена в 7-Zip 26.00, однако проблемный расчёт присутствовал с момента появления поддержки сжатых потоков NTFS, поэтому затронуты все версии вплоть до 26.00.
Причина связана с обработчиком NTFS . При разборе специально созданного образа программа принимала слишком крупный размер кластера и значение CompressionUnit, после чего неверно вычисляла размер буфера для сжатых данных. Из-за неопределённого поведения при сдвиге 32-битного числа 7-Zip выделял для входного буфера всего 1 байт, а затем пытался записать туда до 256 МБ данных, контролируемых атакующим.
Авторы отчёта указывают, что такая запись за пределы выделенной памяти способна повредить объект потока в куче и перехватить указатель виртуальной таблицы. На практике такой сценарий открывает путь к выполнению произвольного кода или аварийному завершению приложения. Для эксплуатации достаточно, чтобы пользователь открыл, проверил или начал извлекать файл из подготовленного NTFS-образа.
Проблема проявляется и в 32-битных, и в 64-битных сборках. На 32-битных системах переполнение достигается почти гарантированно из-за маленьких выделений памяти. На 64-битных системах выполнение атаки зависит от успешного выделения большого выходного буфера, но на машинах с 16 ГБ оперативной памяти и больше такой сценарий вполне реалистичен. Если памяти недостаточно, последствия могут ограничиться отказом в обслуживании.
Отдельный риск создаёт механизм определения формата в 7-Zip . Обработчик NTFS зарегистрирован для расширений .ntfs и .img, но программа также использует проверку сигнатур. Если основной обработчик по расширению отвергает файл, 7-Zip перебирает другие форматы и может распознать NTFS по сигнатуре в начале образа. Поэтому вредоносный файл может попасть в опасный обработчик даже под видом .7z, .zip, .rar или файла без расширения.
Проблему обнаружил участник GitHub Security Lab Ярослав Лобачевский, известный как @JarLob. Пользователям 7-Zip стоит перейти на версию 26.01 или новее и не открывать непроверенные образы дисков и архивы из сомнительных источников.
В 7-Zip нашли уязвимость , из-за которой обычное открытие специально подготовленного образа могло закончиться не ошибкой распаковки, а выполнением вредоносного кода. Проблема затрагивает обработку NTFS-архивов и опасна тем, что расширение файла не играет решающей роли: вредоносный образ может выглядеть как архив другого формата или вовсе не иметь привычного окончания.
Уязвимость получила идентификатор CVE-2026-48095 и оценку 8.8 по шкале CVSS 3.1 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H). Команда GitHub Security Lab сообщила о проблеме разработчикам 7-Zip 24 апреля 2026 года, а уже 27 апреля вышла версия 26.01 с исправлением. Ошибка подтверждена в 7-Zip 26.00, однако проблемный расчёт присутствовал с момента появления поддержки сжатых потоков NTFS, поэтому затронуты все версии вплоть до 26.00.
Причина связана с обработчиком NTFS . При разборе специально созданного образа программа принимала слишком крупный размер кластера и значение CompressionUnit, после чего неверно вычисляла размер буфера для сжатых данных. Из-за неопределённого поведения при сдвиге 32-битного числа 7-Zip выделял для входного буфера всего 1 байт, а затем пытался записать туда до 256 МБ данных, контролируемых атакующим.
Авторы отчёта указывают, что такая запись за пределы выделенной памяти способна повредить объект потока в куче и перехватить указатель виртуальной таблицы. На практике такой сценарий открывает путь к выполнению произвольного кода или аварийному завершению приложения. Для эксплуатации достаточно, чтобы пользователь открыл, проверил или начал извлекать файл из подготовленного NTFS-образа.
Проблема проявляется и в 32-битных, и в 64-битных сборках. На 32-битных системах переполнение достигается почти гарантированно из-за маленьких выделений памяти. На 64-битных системах выполнение атаки зависит от успешного выделения большого выходного буфера, но на машинах с 16 ГБ оперативной памяти и больше такой сценарий вполне реалистичен. Если памяти недостаточно, последствия могут ограничиться отказом в обслуживании.
Отдельный риск создаёт механизм определения формата в 7-Zip . Обработчик NTFS зарегистрирован для расширений .ntfs и .img, но программа также использует проверку сигнатур. Если основной обработчик по расширению отвергает файл, 7-Zip перебирает другие форматы и может распознать NTFS по сигнатуре в начале образа. Поэтому вредоносный файл может попасть в опасный обработчик даже под видом .7z, .zip, .rar или файла без расширения.
Проблему обнаружил участник GitHub Security Lab Ярослав Лобачевский, известный как @JarLob. Пользователям 7-Zip стоит перейти на версию 26.01 или новее и не открывать непроверенные образы дисков и архивы из сомнительных источников.