Защищенный ZIP-архив можно распаковать двумя паролями, объясняют эксперты

Защищенный ZIP-архив можно распаковать двумя паролями, объясняют эксперты

Защищенный ZIP-архив можно распаковать двумя паролями, объясняют эксперты

Запароленные ZIP-архивы часто используются для обмена конфиденциальными документами и даже для доставки вредоносных программ. Что удивительно: распаковать архив можно двумя паролями с одинаковым результатом. Как такое возможно — рассказывает специалист Positive Technologies.

Арсений Шароглазов, эксперт в штате Positive Technologies, поделился результатами интересного эксперимента. Для начала он создал защищенный паролем ZIP-архив с именем “x.zip.”.

В качестве пароля Шароглазов использовал часть текста знаменитой песни Рика Эстли «Never Gonna Give You Up» (тот самый мем), а именно:

Nev1r-G0nna-G2ve-Y8u-Up-N5v1r-G1nna-Let-Y4u-D1wn-N8v4r-G5nna-D0sert-You

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

pkH8a0AqNbHcdw8GrmSp

 

Пользователи задали справедливый вопрос: каким образом у Арсения получилось успешно использовать два пароля? Всю «фишку» объяснил пользователь Twitter под псевдонимом Unblvr.

При создании защищенного паролем ZIP-архива с включенным режимом AES-256 формат использует алгоритм PBKDF2 и хеширует пароль пользователя, если он слишком длинный (длиннее 64 символов, подчеркивает Unblvr).

В результате вместо пароля — "Nev1r-G0nna-G2ve-..." — рассчитанный хеш становится самим паролем к файлу. При попытке распаковать архив пользовательский ввод ещё раз хешируется архиватором и сравнивается с правильным паролем (который на тот момент уже являются самим хешем). Совпадение приводит к успешной распаковке файла.

Тот пароль, который задействовал Шароглазов — "pkH8a0AqNbHcdw8GrmSp" — является по факту ASCII-представлением более длинного SHA-1-хеша пароля. Контрольная сумма при конвертации в ASCII действительно выдавала “pkH8a0AqNbHcdw8GrmSp”.

Главным условием здесь является наличие пароля, длина которого превышает 64 символа. Специалисты BleepingComputer провели собственный эксперимент, доказавший состоятельность метода Шароглазова.

30-летняя уязвимость в libpng поставила под удар миллионы приложений

Анонсирован выпуск libpng 1.6.55 с патчем для опасной уязвимости, которая была привнесена в код еще на стадии реализации проекта, то есть более 28 лет назад. Пользователям и разработчикам советуют как можно скорее произвести обновление.

Уязвимость-долгожитель в библиотеке для работы с растровой графикой в формате PNG классифицируется как переполнение буфера в куче, зарегистрирована под идентификатором CVE-2026-25646 и получила 8,3 балла по шкале CVSS.

Причиной появления проблемы является некорректная реализация API-функции png_set_dither(), имя которой было со временем изменено на png_set_quantize(). Этот механизм используется при чтении PNG-изображений для уменьшения количества цветов в соответствии с возможностями дисплея.

Переполнение буфера возникает при вызове png_set_quantize() без гистограммы и с палитрой, в два раза превышающей максимум для дисплея пользователя. Функция в результате уходит в бесконечный цикл, и происходит чтение за границей буфера.

Эту ошибку можно использовать с целью вызова состояния отказа в обслуживании (DoS). Теоретически CVE-2026-25646 также позволяет получить закрытую информацию или выполнить вредоносный код, если злоумышленнику удастся внести изменения в структуру памяти до вызова png_set_quantize().

Уязвимости подвержены все версии libpng, с 0.90 beta (а возможно, и с 0.88) до 1.6.54. Ввиду широкого использования библиотеки пользователям настоятельно рекомендуется перейти на сборку 1.6.55 от 10 февраля 2026 года.

RSS: Новости на портале Anti-Malware.ru