Критична уразливість у Gogs: зміна коду та виконання команд
Критична уразливість у Gogs дозволяє змінювати чужий код і виконувати довільні команди на сервері
У платформі спільної розробки Gogs виявлено уразливість, якій присвоєно критичний рівень небезпеки (10 з 10). Ця уразливість дозволяє непривілейованому користувачу Gogs змінювати вихідний код інших користувачів сервісу. Більше того, вона може використовуватись для виконання довільних команд на сервері.
Деталі критичної уразливості у Gogs
Проблема з безпекою дозволяє зловмисникам виконувати команди з правами користувача, вказаного через параметр RUN_USER у конфігурації Gogs. Уразливість усунуто в оновленні Gogs 0.13.3.
Варто зазначити, що ця проблема виникла через неповне виправлення уразливості CVE-2024-39931, розкритої у грудні. Однак, важливо підкреслити, що ця критична уразливість не зачіпає платформи Forgejo та Gitea, які продовжують розвиток форку Gogs, створеного у 2016 році.
Технічні особливості уразливості
Уразливість спричинена можливістю маніпуляції файлами в каталозі .git із веб-редактора репозиторіїв. При спробі виправлення проблеми у грудні розробники додали перевірку завантаження файлів у каталог .git.
Проте залишилася не повністю заблокована можливість видалення файлів. Зокрема, при видаленні перевірялося співпадіння файлового шляху з каталогом .git. Водночас не виконувалися перевірки символічних посилань.
Для обходу доданої перевірки достатньо було створити символічне посилання, що вказує на каталог .git. Після цього зловмисник міг використовувати це посилання для видалення вмісту, замість прямого звернення до каталогу .git.
Рекомендації щодо безпеки
Адміністраторам систем, де використовується Gogs, наполегливо рекомендується негайно оновитися до версії 0.13.3. Якщо з якихось причин оновлення неможливе, слід розглянути варіант тимчасового відключення доступу до веб-інтерфейсу Gogs.
Крім того, користувачам можна порадити розглянути альтернативи, такі як Forgejo або Gitea, які не схильні до цієї уразливості та мають активніший розвиток.
Висновок
Ця критична уразливість у Gogs підкреслює важливість ретельного тестування патчів безпеки. Неповне виправлення попередньої проблеми призвело до нової, ще серйознішої уразливості.
Користувачам необхідно бути уважними до оновлень безпеки та вчасно їх встановлювати. Також варто регулярно перевіряти офіційні ресурси проєкту на наявність повідомлень про нові уразливості.