CVE-2026-28291
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 47 - wyżej niż 47% wszystkich znanych CVE
Streszczenie
Podatność w bibliotece simple-git do wersji 3.31.1 umożliwia wykonanie dowolnych poleceń poprzez manipulację opcjami Git, omijając zabezpieczenia przed niebezpiecznymi opcjami jak -u czy --upload-pack. Problem wynika z niekompletnej łatki dla CVE-2022-25860, ponieważ elastyczne parsowanie opcji Git pozwala na użycie wielu kombinacji znaków (np. -vu, -4u, -nu) do obejścia blokady opartej na wyrażeniach regularnych. Ze względu na praktycznie nieskończoną liczbę wariantów opcji akceptowanych przez Git, całkowite zabezpieczenie poprzez blokowanie może być niemożliwe bez pełnej emulacji parsowania opcji Git.
Ocena ryzyka
Atakujący może zdalnie wykonać dowolne polecenia systemowe w kontekście aplikacji używającej biblioteki simple-git, co prowadzi do pełnego przejęcia kontroli nad serwerem, kradzieży danych lub dalszego ataku na infrastrukturę.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę simple-git do wersji 3.32.0 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy rozważyć tymczasowe wyłączenie funkcjonalności związanej z wykonywaniem poleceń Git lub zastosowanie dodatkowych zabezpieczeń na poziomie aplikacji.
Inne podatności w simple-git
Zobacz wszystkie- CVE-2026-102828Krytyczne
simple-git, interfejs do wykonywania poleceń git w aplikacjach node.js, umożliwia aplikacjom wykonywanie operacji Git z JavaScript. Od wersji 3.15.0 do 4.0.1 domyślny blockUnsafeOperationsPlugin nie klasyfikuje trailer.<token>.cmd jako niebezpiecznej konfiguracji. Aplikacja, która przekazuje wartości kontrolowane przez atakującego przez SimpleGitOptions.config lub argumenty -c, może pozwolić Gitowi na wywołanie wybranej przez atakującego komendy powłoki, gdy git interpret-trailers przetwarza skonfigurowany trailer. Komenda wykonuje się z tożsamością i uprawnieniami systemu operacyjnego procesu Node.js. Problem naprawiono w wersji 4.0.1.
- CVE-2026-6951Krytyczne
Podatność w bibliotece simple-git przed wersją 3.36.0 umożliwia zdalne wykonanie kodu (RCE) z powodu niekompletnej łatki dla CVE-2022-25912. Łatka blokowała opcję -c, ale nie równoważną formę --config, co pozwala atakującemu na wykorzystanie protokołu ext:: do wykonania kodu.
- CVE-2026-28292Krytyczne
Biblioteka `simple-git` w wersjach od 3.15.0 do 3.32.2 zawiera podatność umożliwiającą ominięcie poprawek dla CVE-2022-25860 i CVE-2022-25912, co prowadzi do zdalnego wykonania kodu na hoście. Problem został naprawiony w wersji 3.23.0.
- CVE-2026-102827Wysokie
Biblioteka simple-git przed wersją 4.0.0 zawiera lukę w domyślnym pluginie blockUnsafeOperationsPlugin, który porównuje nazwy opcji z dosłownymi zapisami niebezpiecznych opcji, podczas gdy Git akceptuje jednoznaczne skróty długich opcji. Argumenty push pochodzące od atakującego, np. skrócone formy --receive-pack lub --exec, mogą ominąć detectVulnerableFlags i doprowadzić do wykonania polecenia wybranego przez atakującego.
- CVE-2026-102826Wysokie
Biblioteka simple-git przed wersją 4.0.0 nie odrzuca w pełni dyrektyw include konfiguracji przekazanych przez customArgs do git.clone(). Brak klasyfikacji include.path pozwala Gitowi załadować plik konfiguracyjny kontrolowany przez atakującego, a poprawka nie obejmuje includeIf.<condition>.path. Załadowana konfiguracja może ustawić wykonywalną opcję Git, taką jak core.sshCommand, która zostanie uruchomiona z uprawnieniami procesu Node.js.
Oryginalny opis (angielski, źródło NVD)
simple-git enables running native Git commands from JavaScript. Versions up to and including 3.31.1 allow execution of arbitrary commands through Git option manipulation, bypassing safety checks meant to block dangerous options like -u and --upload-pack. The flaw stems from an incomplete fix for CVE-2022-25860, as Git's flexible option parsing allows numerous character combinations (e.g., -vu, -4u, -nu) to circumvent the regular-expression-based blocklist in the unsafe operations plugin. Due to the virtually infinite number of valid option variants that Git accepts, a complete blocklist-based mitigation may be infeasible without fully emulating Git's option parsing behavior. This issue has been fixed in version 3.32.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

