Назад

Alpine Linux перебудувала GitLab після спроби експлуатації CVE-2026-97229
SiTech AI Team3 хв читання

Alpine Linux перебудувала GitLab після спроби експлуатації CVE-2026-97229

Alpine Linux повідомляє, що нападник намагався експлуатувати критичну вразливість GitLab CVE-2026-97229 20 і 21 жовтня. Екземпляр перебудували, паролі скинули, а перевірки не виявили втручання в aports чи релізи.

Alpine Linux повідомила, що нападник намагався експлуатувати критичну вразливість GitLab CVE-2026-97229 20 і 21 жовтня на своєму екземплярі GitLab. Екземпляр працював на GitLab 19.3.4 без виправлення від 12 жовтня. Alpine не знайшла доказів успіху, але не могла це виключити, тому перебудувала екземпляр з нуля і скинула всі паролі.

Вразливість та атака

CVE-2026-97229 є критичною вразливістю, CVSS 10.0, у тому, як GitLab обробляє регулярні вирази в конфігурації CI. Основна помилка полягає в Onigmo, рушії регулярних виразів, вбудованому в Ruby. GitLab опублікувала виправлені релізи 12 жовтня, але виправлення є набором латок до Ruby, який GitLab постачає в комплекті. Розробники Ruby випустили виправлення 23 жовтня в Ruby 3.3.13, 3.4.12 і 4.0.9. Після того як CVE опублікували 13 жовтня, Alpine помилково оновилася до 19.3.4 замість виправленої 19.3.5.

20 і 21 жовтня щойно зареєстрований обліковий запис надіслав до екземпляра підготовлені конфігурації CI. Це вісім разів призвело до аварійного завершення робочих процесів GitLab. У чотирьох аваріях нападник просунувся в експлуатації лише частково і зазнав невдачі на наступному кроці. Нападник також завантажив образ контейнера GitLab, що свідчить про підгонку експлойта під конкретну збірку. Alpine не знайшла доказів виконання коду на сервері, але не може це виключити.

Чому оновлення не усунуло вразливість

Оновлення до GitLab 19.3.6 22 жовтня не усунуло вразливість, оскільки виправлення є латкою Ruby, застосованою лише в офіційних пакетах GitLab. Образ Alpine використовував стандартний Ruby, тому не отримав латки. Оператори, які використовують власний Ruby, потребують 3.3.13, 3.4.12, 4.0.9 або новіші. Користувачам alpinelinux/gitlab слід знову завантажити alpinelinux/gitlab:19.3.6; образ, опублікований 27 жовтня, містить Ruby 3.3.13. Раніші образи 19.3.6 і всі старіші теги є вразливими.

Перевірки та можливе розкриття даних

Alpine повідомляє, що aports, пакети та релізи від 21 жовтня не зазнали втручання. Стабільні релізи від 21 жовтня є 3.21.9, 3.22.7, 3.23.7 і 3.24.3. Пакети, зібрані з 20 по 24 жовтня, походили з комітів aports, перевірених за записами поза GitLab. Ключі підпису не були розкриті, а Alpine не знайшла неочікуваних файлів, ключів, хуків чи процесів.

Alpine досі не може бути впевненою, оскільки успішна експлуатація не залишила б ні аварії, ні сліду у веб-логах. Частина журналів дня атаки зникла, зокрема журнали фонових завдань і файлова система старого контейнера. Вихідні мережеві з'єднання не логувалися, а хостинг-провайдер їх не зберігає. Якби атака вдалася, розкриті дані могли б включати адреси електронної пошти користувачів, імена та IP-адреси, хеші паролів, секрети 2FA, змінні CI/CD і токени runner, облікові дані для вебхуків, інтеграцій і push-дзеркал, хеші персональних токенів доступу, а також приватні репозиторії з конфіденційними завданнями та запитами на злиття.

Перебудова та дії користувачів

Alpine перебудувала екземпляр з нуля, скинула всі паролі та замінила секретні ключі GitLab. GitLab тестується перед повторним відкриттям. Коли він повернеться, користувачі мають встановити новий пароль за допомогою 'Forgot your password?' на сторінці входу. Тим, хто повторно використовував той самий пароль в інших місцях, варто змінити його там; Alpine бачила автоматизовані спроби входу з паролями, що витекли з інших сайтів. Запитання можна надсилати на [email protected].

Alpine також змінює свій процес: перебудований екземпляр працює на Ruby з виправленням; критичні оновлення безпеки GitLab слід застосовувати протягом дня, із перевірками латок Ruby чи інших компонентів; вихідні з'єднання та з'єднання з базою даних будуть логуватися, а журнали зберігатимуться довше за 14 днів; а теги релізів будуть підписуватися. Поки GitLab закритий, дзеркала пакетів, cgit, а також списки розсилки та IRC доступні як зазвичай.

Джерела: alpinelinux.org

Поділитися цифровим досвідом

SiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.