Google виявляє недолік безпеки на GitHub

Project Zero оприлюднив деталі серйозного порушення безпеки на GitHub і вони повідомляють про це помилка впливає на команди робочого циклу дій від GitHub і описується як висока ступінь тяжкості. (Ця помилка була виявлена ​​в липні, але відповідно до стандартного 90-денного періоду розкриття, деталі були опубліковані лише зараз).

Ця вада стала однією з небагатьох уразливостей, яку не вдалося виправити належним чином до закінчення стандартного 90-денного строку, наданого Google Project Zero.

На думку Фелікса Вільгельма (хто його виявив), член команди Project Zero, недолік впливає на функцію дій GitHub, інструменту для автоматизації роботи розробників. Це тому, що команди робочого циклу дій "вразливі до атак введення":

«Дії Github підтримує функцію, яка називається командами робочого циклу, як канал зв'язку між брокером дій та виконаною дією. Команди робочого циклу реалізовані в / src / Runner.Worker / ActionCommandManager.cs, і він працює шляхом синтаксичного аналізу STDOUT усіх дій, виконаних шляхом пошуку одного з двох маркерів команд.

Згадайте це велика проблема цієї функції полягає в тому, що вона дуже вразлива до ін'єкційних атак. Оскільки процес виконання сканує кожен рядок, надрукований у STDOUT, на наявність команд робочого циклу, кожна дія GitHub, яка містить ненадійний вміст як частину його виконання, є вразливою.

У більшості випадків можливість встановлення довільних змінних середовища призводить до віддаленого виконання коду, як тільки запущений інший робочий процес. Я витратив деякий час, розглядаючи популярні сховища GitHub, і майже будь-який проект, який використовує дещо складні дії GitHub, є вразливим до подібних помилок.

Пізніше дав кілька прикладів того, як цю помилку можна було використати а також запропонував рішення:

“Я справді не впевнений, що найкращий спосіб це виправити. Я думаю, що спосіб реалізації команд робочого процесу є принципово небезпечним. Знищення синтаксису команди v1 та посилення en-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 листопада.

Фуенте: https://bugs.chromium.org


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

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