Новости и события » Hi-Tech » Уязвимости в системе загрузки модулей для языка Go

Уязвимости в системе загрузки модулей для языка Go

В реализации команды "go get", предоставляемой штатным интерфейсом командой строки для языка Go и используемой для загрузки пакетов и связанных с ними зависимоcтей, выявлено несколько уязвимостей, позволяющих выполнить код при загрузке специально оформленных пакетов, подготовленных злоумышленниками. Проблемы устранены в корректирующих выпусках Go 1.11.3 и 1.10.6.

Первая уязвимость (https://security-tracker.debian.org/tracker/CVE-2018-16873 CVE-2018-16873]]) проявляется при выполнении команды "go get -u" и прямом импорте модулей в режиме GOPATH. Атака сводится к созданию в модуле импортируемых путей, заканчивающихся на "/.git", которые воспринимаются при вызове "go get -u" как корень репозитория с последующим выполнением в нем команд git. Выполнение кода организуется через размещение вредоносных команд в прикрепленном к репозиторию файле конфигурации git;

Вторая уязвимость (CVE-2018-16874) позволяет при выполнении команды "go get" выйти за пределы определенного для модуля корневого пути, через манипуляцию с фигурными скобками в импортируемых путях. Проблема проявляется только в режиме GOPATH и не затрагивает режим модуля. При помощи данной уязвимости атакующий может перезаписать произвольные файл в ФС, насколько это позволяют текущие полномочия.


Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх