CVE-2026-102828
KrytyczneCVSS 9.2Streszczenie
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.
Ocena ryzyka
Atakujący może przekazać złośliwą konfigurację, co może prowadzić do wykonania dowolnych poleceń powłoki z uprawnieniami procesu Node.js, co może skutkować pełną kompromitacją systemu.
Rekomendacja
Zaktualizuj simple-git do wersji 4.0.1 lub nowszej, aby zapewnić blokowanie niebezpiecznych konfiguracji trailer.
Inne podatności w simple-git
Zobacz wszystkie- 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.
- 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-28291Wysokie
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.
Oryginalny opis (angielski, źródło NVD)
simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. From 3.15.0 until 4.0.1, the default blockUnsafeOperationsPlugin does not classify trailer.<token>.cmd as unsafe configuration. An application that passes attacker-controlled values through SimpleGitOptions.config or inline -c arguments can therefore allow Git to invoke an attacker-selected shell command when git interpret-trailers processes the configured trailer. The command executes with the operating-system identity and permissions of the Node.js process. This issue is fixed in 4.0.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

