Проблема затрагивает версии NPM до 6.13.3, а также версии альтернативного NPM-клиента Yarn младше релиза 1.21.1.
Разработчики пакетного менеджера NPM устранили опасную уязвимость в наборе инструментов командной строки, позволяющую злоумышленникам модифицировать файлы на системе пользователя при установке пакета. Проблема затрагивает версии NPM до 6.13.3, а также версии альтернативного NPM-клиента Yarn младше релиза 1.21.1.
Уязвимость может быть проэксплуатирована путем создания записи в поле 'bin' package.json. В результате атакующий получит возможность изменить и/или получить доступ к произвольным файлам на системе пользователя при установке пакета, пояснила команда проекта.
Данная проблема оказалась не единственной. Разработчик Дэниэл Раф (Daniel Ruf) обнаружил в NPM уязвимость, предоставляющую возможность создавать произвольные символические ссылки на любой файл. Как пояснил Раф, версии NPM до 6.13.3, а также все текущие версии Yarn позволяют перезаписать существующие бинарные файлы, но только в каталоге /usr/local/bin.
По словам разработчика, эксплуатация не потребует значительных усилий. Процесс будет выглядеть примерно так:
"bin": { "../some/path": "../some/other/path" }
Раф также разработал PoC-код, который записывает или перезаписывает произвольные файлы и предоставляет неавторизованный доступ к файлам.
Никаких овечек — только отборные научные факты