Об этом пишет The Verge.

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

Эти общедоступные программы можно найти в таких репозиториях, как npm для NodeJS, PyPi для Python и RubyGems для Ruby. Бирсан обнаружил, что эти репозитории могут быть использованы для проведения этой атаки, но она не ограничивается только тремя репозиториями.

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

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

Похоже, компании сошлись во мнении, что проблема очень серьезная.

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

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

  • Исследовательница безопасности с Google Project Zero Натали Сильванович (Natalie Silvanovich) обнаружила опасную уязвимость сразу в нескольких популярных мессенджерах.