Google разкрива недостатък в сигурността на GitHub

Project Zero публикува подробности за сериозно нарушение на сигурността на GitHub и те съобщават за това грешката засяга командите на работния поток за действие от GitHub и се описва като висока степен на сериозност. (Тази грешка е открита през юли, но въз основа на стандартния 90-дневен период на разкриване, подробностите са публикувани едва сега.)

Този недостатък се превърна в една от малкото уязвимости, които не бяха отстранени правилно преди изтичането на стандартния 90-дневен срок, предоставен от Google Project Zero.

Според Феликс Вилхелм (който го е открил), член на екипа на Project Zero, недостатъкът засяга функцията за действия на GitHub, инструмент за автоматизиране на работата на разработчиците. Това е така, защото командите на работния поток на Action са "уязвими за инжекционни атаки":

„Действия Github поддържа функция, наречена команди на работния поток, като комуникационен канал между посредника за действия и изпълненото действие. Командите на работния поток са внедрени в / src / Runner.Worker / ActionCommandManager.cs и той работи, като анализира STDOUT от всички действия, извършени чрез търсене на един от двата маркера на команди.

Споменете това големият проблем на тази функция е, че тя е много уязвима към инжекционни атаки. Тъй като процесът на изпълнение сканира всеки ред, отпечатан в STDOUT, за команди на работния поток, всяко действие на GitHub, което съдържа ненадеждно съдържание като част от изпълнението му, е уязвимо.

В повечето случаи възможността за задаване на произволни променливи на средата води до отдалечено изпълнение на код веднага щом се изпълнява друг работен поток. Прекарах известно време в разглеждане на популярни хранилища на GitHub и почти всеки проект, който използва леко сложни действия на GitHub, е уязвим за този вид грешка.

впоследствие, даде няколко примера за това как грешката може да бъде използвана и също предложи решение:

„Наистина не съм сигурен кой е най-добрият начин да го поправя. Мисля, че начинът, по който се изпълняват командите на работния поток, е фундаментално несигурен. Амортизирането на синтаксиса на командата v1 и укрепването на env с разрешен списък вероятно ще работи срещу директни RCE вектори.

„Въпреки това, дори възможността да се заменят„ нормалните “променливи на средата, използвани в по-късните стъпки, вероятно е достатъчна, за да се използват по-сложните действия. Нито съм анализирал въздействието върху сигурността на другите контроли в работното пространство.

От друга страна, споменете, че това е добро дългосрочно решение би било да преместите командите на работния поток в отделен канал (напр. нов файлов дескриптор), за да избегнете синтактичен анализ от STDOUT, но това ще наруши много от съществуващия код за действие.

Що се отнася до GitHub, разработчиците му публикуват съвет на 1 октомври и отхвърлят уязвимите команди, но твърдят, че това, което Вилхелм е открил, всъщност е "умерена уязвимост на сигурността". GitHub присвои идентификатора на грешки CVE-2020-15228:

„В средата на изпълнение на GitHub Actions е установена умерена уязвимост на сигурността, която може да позволи инжектирането на пътеки и променливи на околната среда в работни потоци, които регистрират ненадеждни данни в STDOUT. Това може да доведе до въвеждане или модификация на променливи на средата без намерението на автора на работния поток.

„За да ни помогнем да разрешим този проблем и да ви позволим да задавате динамично променливи на средата, въведохме нов набор от файлове за обработка на актуализации на средата и пътя в работните потоци.

„Ако използвате самостоятелно хоствани брокери, уверете се, че те са актуализирани до версия 2.273.1 или по-нова.

Според Вилхелм на 12 октомври Project Zero се свързва с GitHub и активно им предлага 14-дневен прозорец, ако GitHub иска повече време, за да деактивира уязвимите команди. Разбира се, офертата беше приета и GitHub се надяваше да деактивира уязвимите команди след 19 октомври. След това Project Zero определи новата дата за разкриване на 2 ноември.

Fuente: https://bugs.chromium.org


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.