---
title: Błędy w silniku wyrażeń regularnych Ruby spowodowały krytyczne luki w GitLab
url: https://www.dataloco.com/pl/bledy-w-silniku-wyrazen-regularnych-ruby-spowodowaly-krytyczne-luki-w-gitlab
published: 2026-11-02T08:28:51+00:00
language: pl
section: Bezpieczeństwo
source: https://www.heise.de/news/Ruby-behebt-drei-kritische-Luecken-vor-denen-CVE-Scanner-nicht-warnen-11505663.html?wt_mc=rss.red.ho.ho.atom.beitrag.beitrag
organizations: GitLab, Ruby
publisher: Dataloco
---

# Błędy w silniku wyrażeń regularnych Ruby spowodowały krytyczne luki w GitLab

Zespół Ruby wydał wersje 4.0.9, 3.4.12 oraz 3.3.13, aby naprawić trzy błędy w silniku wyrażeń regularnych Onigmo. Usterki te mogą umożliwić wykonanie szkodliwego kodu na serwerach, na których uruchomione są podatne aplikacje.

Najbardziej znanym przypadkiem wykorzystania tych błędów są luki w systemie GitLab, o których poinformowano w ostatnich tygodniach. Zagrożona jest każda aplikacja napisana w języku Ruby, która generuje wyrażenia regularne na podstawie danych wejściowych od użytkowników. Zespół Ruby zaznaczył, że osoby korzystające wyłącznie z własnoręcznie napisanych wzorców nie muszą się obawiać. Błędy występują na etapie kompilacji, czyli podczas tłumaczenia wzorca na program wewnętrzny, a nie podczas samego dopasowywania tekstu.

W przypadku GitLab luki pojawiły się, ponieważ usługa ta kompiluje wyrażenia regularne z danych wejściowych, na przykład z konfiguracji CI/CD. Badacz bezpieczeństwa Johan Carlsson zgłosił cztery luki: CVE-2026-89078 oraz CVE-2026-93577 z wartością CVSS 9,9, a także CVE-2026-97229 i CVE-2026-110264 z maksymalną wartością 10,0. Te dwie ostatnie można było wykorzystać bez uwierzytelnienia. GitLab zamknął te luki między 23 września a 21 października, stosując własne poprawki do dołączonego języka Ruby. Ostatnia aktualizacja dotyczy wszystkich wersji GitLab od wersji 7.0 z 2014 roku.

Zespół Ruby przypisał cztery identyfikatory CVE do trzech błędów. CVE-2026-89078 wynika z podwójnego zwalniania pamięci podczas odczytu wzorca. CVE-2026-93577 oraz CVE-2026-97229 są spowodowane przepełnieniem liczby całkowitej przy obliczaniu rozmiaru skompilowanego programu. Z kolei CVE-2026-110264 wynika z przepełnienia wewnętrznych liczników w wzorcach z bardzo dużą liczbą powtórzeń.

Żadna z trzech poprawek nie jest nowa. Rozwiązanie problemu podwójnego zwalniania pamięci trafiło do gałęzi rozwojowej w maju 2025 roku i jest obecne w wersji 4.0.0. Poprawka liczników dla CVE-2026-110264 pojawiła się w kwietniu 2026 roku, a poprawka rozmiaru programu we wrześniu 2026 roku. Wersja 4.0.8 z 22 października wprowadziła poprawkę rozmiaru programu w ramach rutynowej aktualizacji, bez informacji o bezpieczeństwie. Dzień później wydano wersję 4.0.9 z ostatnią brakującą poprawką, a stabilne gałęzie 3.4 i 3.3 otrzymały wszystkie trzy jednocześnie. Wersja 3.3.13 została wydana jako wyjątek, ponieważ GitLab przypisał do tych błędów numery CVE.

W najgorszym scenariuszu kod napastnika może zostać uruchomiony z uprawnieniami procesu Ruby, co daje dostęp do bazy danych, sekretów środowiskowych i systemu plików. Bardziej prawdopodobne jest jednak zawieszenie procesu, co prowadzi do odmowy usługi bez konieczności logowania. Zarówno GitLab, jak i zespół Ruby nie zgłosili dotychczas aktywnych ataków.

Zespół Ruby wyjaśnił, że mechanizm Regexp.timeout nie chroni przed tymi błędami, ponieważ przerywa on jedynie zbyt długie dopasowywanie, a usterki występują wcześniej, podczas kompilacji. Ograniczenie długości wzorca również nie jest skuteczne, gdyż niektóre błędy wyzwalają krótkie wzorce. Projekt Ruby nie wnioskował o własne numery CVE, uznając kompilowanie obcych wzorców za niebezpieczną praktykę, którą powinny unikać aplikacje.

## This story in other languages

- [English](https://www.dataloco.com/en/ruby-fixes-three-critical-flaws-linked-to-gitlab-vulnerabilities)
- [한국어](https://www.dataloco.com/ko/ruby-gitlab)
- [Indonesia](https://www.dataloco.com/id/kesalahan-mesin-regex-ruby-sebabkan-celah-keamanan-kritis-pada-gitlab)
- [Русский](https://www.dataloco.com/ru/kriticeskie-uiazvimosti-gitlab-vyzvany-osibkami-v-dvizke-reguliarnyx-vyrazenii-ruby)
- [العربية](https://www.dataloco.com/ar/akhtaaa-fy-mhrk-altaabyrat-alnmty-lgh-ruby-tsbb-thghrat-amny-hrg-fy-gitlab)
- [עברית](https://www.dataloco.com/he/ruby-gitlab)
- [हिन्दी](https://www.dataloco.com/hi/ruby-na-apana-ragalra-ekasaparashana-ijana-ma-tana-gabhara-khamaya-ka-sathhara)
- [Español](https://www.dataloco.com/es/errores-en-el-motor-de-expresiones-regulares-de-ruby-causan-vulnerabilidades-criticas-en-gitlab)
- [Français](https://www.dataloco.com/fr/des-moteur-de-expressions-regulieres-de-ruby-sont-a-lorigine-de-failles-critiques-chez-gitlab)
- [Italiano](https://www.dataloco.com/it/errori-nel-motore-regex-di-ruby-causano-vulnerabilita-critiche-in-gitlab)
- [Svenska](https://www.dataloco.com/sv/kritiska-sarbarheter-i-rubys-regex-motor-paverkar-gitlab)
- [Norsk](https://www.dataloco.com/no/kritiske-sarbarheter-i-ruby-pavirker-gitlab)
