У Docker-образах платформи Gitea виявлено критичну вразливість CVE-2026-20896 з оцінкою CVSS 9.8, що дає змогу неавтентифікованому зловмиснику отримати доступ до будь-якого облікового запису, включно з адміністративним, — без пароля й токена. Вразливість зачіпає всі версії Docker-образів Gitea до 1.26.2 включно і усунена у версії 1.26.3. За даними компанії Sysdig, уже через 13 днів після публічного розкриття зафіксовано активність, пов’язану з розвідкою вразливих екземплярів, хоча підтверджених випадків успішної експлуатації наразі немає. Адміністраторам Gitea, які використовують Docker-розгортання зі зворотним проксі, необхідно негайно оновитися.
Технічна суть вразливості
Корінь проблеми — у конфігураційному файлі app.ini, який є центральним файлом налаштувань Gitea, що керує параметрами сервера, підключеннями до бази даних і поведінкою безпеки. У Docker-образах Gitea цей шаблон жорстко задавав параметр REVERSE_PROXY_TRUSTED_PROXIES = *, що означало довіру до HTTP-заголовка X-WEBAUTH-USER від будь-якої IP-адреси джерела.
Задокументоване безпечне значення цього параметра — 127.0.0.0/8,::1/128, тобто довіра лише до localhost. Однак Docker-образ ігнорував це значення за замовчуванням, підставляючи замість нього підстановний символ *. Фактично перевірка списку довірених проксі ставала беззмістовною.
Механізм експлуатації виглядає так:
- Адміністратор вмикає параметр
ENABLE_REVERSE_PROXY_AUTHENTICATION = true, щоб розмістити Gitea за автентифікаційним зворотним проксі - Параметр
REVERSE_PROXY_TRUSTED_PROXIESзалишається зі значенням за замовчуванням (*) - Будь-який процес, здатний напряму звернутися до HTTP-порту контейнера Gitea — оминаючи передбачуваний автентифікаційний зворотний проксі — може надіслати довільний заголовок
X-WEBAUTH-USER - Сервер сприймає значення заголовка як ім’я автентифікованого користувача без додаткової перевірки
Як зазначено в офіційному бюлетені безпеки Gitea, очевидними цілями стають адміністративні облікові записи з передбачуваними іменами: admin, gitea_admin та подібні. За ввімкненої автоматичної реєстрації користувачів зловмисник може створити обліковий запис з ім’ям адміністратора й отримати повні привілеї.
Вразливість була виявлена й розкрита дослідником безпеки Алі Мустафою (Ali Mustafa). Публічний репозиторій дослідника містить деталі розкриття, що вказує на доступність технічної інформації для відтворення атаки.
Зачеплені версії та виправлення
- Вразливі версії: Docker-образи Gitea версій до 1.26.2 включно
- Виправлена версія: 1.26.3 (підстановний символ
*видалено, автентифікацію через зворотний проксі переведено в режим явного ввімкнення)
Важливо підкреслити: вразливість є специфічною саме для Docker-образів Gitea. Стандартне встановлення з бінарних файлів використовує безпечне значення за замовчуванням. Проблема виникла через розбіжність між задокументованою поведінкою та фактичною конфігурацією, що постачалася в контейнерному образі.
Спостережувана активність
За даними Sysdig, першу активність, пов’язану з цією вразливістю, зафіксовано через 13 днів після публічного розкриття. Втім, слід ураховувати, що ця інформація ґрунтується на єдиному джерелі й має характер оперативної телеметрії.
Майкл Кларк, старший директор з дослідження загроз у Sysdig, охарактеризував спостережувану активність як початкову розвідку, що не перейшла в стадію експлуатації. Було зафіксовано IP-адресу 159.26.98[.]241, що належить сервісу ProtonVPN. Використання VPN-сервісу не дає змоги робити висновки щодо атрибуції — це може бути як цілеспрямована розвідка, так і автоматизоване сканування.
Стан експлуатації слід класифікувати як сканування, а не як підтверджену експлуатацію в реальних умовах. За оціночними даними, в інтернеті доступно близько 6 200 екземплярів Gitea, хоча ця цифра не підтверджена незалежними вимірюваннями.
Оцінка впливу
Критичність вразливості визначається кількома факторами. Gitea широко використовується командами розробки як самостійно розгорнута альтернатива GitHub і GitLab. Компрометація адміністративного доступу до Gitea відкриває шлях до модифікації вихідного коду, впровадження шкідливих комітів у ланцюжок постачання програмного забезпечення, викрадення секретів і токенів з репозиторіїв, а також до латерального переміщення в межах інфраструктури організації.
Низький поріг входу для експлуатації — достатньо надіслати один HTTP-заголовок — у поєднанні з оцінкою CVSS 9.8 і наявністю публічних технічних деталей робить цю вразливість пріоритетною для негайного усунення.
Рекомендації
- Негайне оновлення: оновіть Docker-образ Gitea до версії 1.26.3 або вище
- Перевірка конфігурації: переконайтеся, що у файлі
app.iniпараметрREVERSE_PROXY_TRUSTED_PROXIESустановлено в127.0.0.0/8,::1/128, а не в* - Аудит мережевого доступу: переконайтеся, що HTTP-порт контейнера Gitea недоступний напряму з інтернету та приймає з’єднання лише від довіреного зворотного проксі
- Перевірка журналів: проаналізуйте логи на предмет запитів із заголовком
X-WEBAUTH-USERвід IP-адрес, що не належать вашому зворотному проксі - Аудит облікових записів: перевірте наявність підозрілих облікових записів, особливо з адміністративними привілеями, створених у період вразливості
Організаціям, які використовують Docker-розгортання Gitea з автентифікацією через зворотний проксі, необхідно оновити образ до версії 1.26.3 і перевірити значення REVERSE_PROXY_TRUSTED_PROXIES у конфігурації. З огляду на наявність публічних технічних деталей, оцінку CVSS 9.8 та зафіксоване сканування, вікно для безпечного оновлення звужується — пріоритет усунення має бути максимальним.