CVE-2026-102826
WysokieCVSS 8.1Streszczenie
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.
Ocena ryzyka
Jeśli aplikacja przekazuje niezaufane argumenty do git.clone(), atakujący może doprowadzić do wykonania dowolnego polecenia w kontekście procesu Node.js. Wymaga to jednak możliwości odczytu pliku kontrolowanego przez atakującego.
Rekomendacja
Zaktualizuj simple-git do wersji 4.0.0 lub nowszej. Nie przekazuj niezaufanych argumentów customArgs do git.clone() i ogranicz możliwość odczytu plików przez proces.
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-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-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. Prior to 4.0.0, the default blockUnsafeOperationsPlugin does not completely reject configuration includes supplied through customArgs to git.clone(). The missing include.path classification permits Git to load an attacker-controlled configuration file, and the initial remediation does not cover includeIf.<condition>.path, allowing the same file-loading primitive through a conditional include. A loaded configuration can set an executable Git option such as core.sshCommand, which Git invokes during the clone operation with the privileges of the Node.js process. Exploitation requires the application to pass attacker-influenced custom arguments and requires an attacker-controlled file that the process can read. This issue is fixed in 4.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

