Вредоносные архивы ZIP и 7z могут привести к выполнению кода в системе

Вредоносные архивы ZIP и 7z могут привести к выполнению кода в системе

Вредоносные архивы ZIP и 7z могут привести к выполнению кода в системе

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

Проблема получила название «Zip Slip», ее обнаружили эксперты из Snyk, она затрагивает следующие форматы файлов: zip, .tar, .war, .cpio и .7z.

Баги были найдены в коде библиотек, написанных разработчиками Apache, Oracle и другими, что ставит под угрозу тысячи приложений. В настоящее время выпущены патчи библиотек, это значит, что разработчики продуктов, использующих небезопасный код, должны обновить свои программы.

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

По словам исследователей из Snyk, ошибки присутствуют в коде, который распаковывает сжатые архивы. Если программа неверно обрабатывает имена файлов в архиве, киберпреступник могут установить свой путь для распаковки. При извлечении такого файла он перезапишет данные в том месте, куда его извлекут.

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

Эксперты опубликовали видео, доказывающее концепцию этой уязвимости:

Также специалисты опубликовали код Java, использующий уязвимую библиотеку:

1: Enumeration<ZipEntry>entries = zip.getEntries(); 
2: while(entries.hasMoreElements()){
3: ZipEntry e = entries.nextElement();
4: File f = new File(dir, e.getName());
5: InputStream input = zip.getInputStream(e);
6: IOUtils.copy(input, write(f));
7: }

Среди продуктов, использующих уязвимые библиотеки, есть такие, как платформа Google Cloud, набор программного обеспечения Oracle, Amazon CodePipeline, IBM DataPower, Alibaba JStorm и Twitter Heron.

Популярная библиотека Axios оказалась заражена трояном через npm

Популярная JavaScript-библиотека Axios оказалась жертвой атаки на цепочку поставок: злоумышленник скомпрометировал npm-аккаунт одного из ведущих мейнтейнеров и через него опубликовал две вредоносные версии пакета — axios@1.14.1 и axios@0.30.4.

По данным исследователей, обе сборки распространяли скрытый троян для macOS, Windows и Linux. Axios при этом остаётся одной из самых популярных библиотек в экосистеме npm — её скачивают примерно 100 млн раз в неделю.

В заражённые версии Axios добавили всего одну новую зависимость — plain-crypto-js@4.2.1, замаскированную под легитимную библиотеку crypto-js. При этом в исходном коде Axios эта зависимость никак не использовалась: её задачей был запуск postinstall-скрипта, который связывался с управляющим сервером, скачивал вредоносную нагрузку под конкретную ОС и затем зачищал следы своей работы.

Атака развивалась поэтапно. Сначала в npm загрузили «чистую» приманку plain-crypto-js, чтобы создать историю публикаций, а затем — уже заражённую версию. После этого через взломанный аккаунт мейнтейнера были опубликованы две вредоносные версии Axios — сначала для ветки 1.x, а затем для старой, но всё ещё популярной ветки 0.x. То есть атакующий накрыл сразу оба основных сценария использования библиотеки.

Согласно анализу, вредоносный код начинал сетевую активность почти сразу после установки пакета. На macOS троян маскировался под системный процесс Apple, на Windows использовал PowerShell и скрытый скрипт, а на Linux разворачивал Python-бэкдор во временной директории. После этого вредоносный модуль удалял собственные файлы и подменял их «чистой» заглушкой, чтобы при поверхностной проверке установленный пакет не вызывал подозрений.

Вредоносные версии, по имеющимся данным, оставались доступными в npm примерно два-три часа, после чего их удалили, а пакет plain-crypto-js попал под блокировку. При этом заражённые релизы не появились среди тегов GitHub-репозитория Axios, что указывает на публикацию напрямую в npm в обход обычного CI/CD-пайплайна проекта.

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