CVE-2026-6951
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 55 - wyżej niż 55% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko dla organizacji polega na możliwości przejęcia kontroli nad serwerem lub aplikacją przez atakującego, który może dostarczyć niesprawdzone dane do argumentu options w simple-git. Skutkiem może być pełna kompromitacja systemu, kradzież danych lub dalsze ataki.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę simple-git do wersji 3.36.0 lub nowszej. Dodatkowo, zaleca się walidację i sanityzację wszystkich danych wejściowych przekazywanych do funkcji git, aby uniemożliwić wstrzykiwanie złośliwych opcji.
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-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.
- 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)
Versions of the package simple-git before 3.36.0 are vulnerable to Remote Code Execution (RCE) due to an incomplete fix for [CVE-2022-25912](https://security.snyk.io/vuln/SNYK-JS-SIMPLEGIT-3112221) that blocks the -c option but not the equivalent --config form. If untrusted input can reach the options argument passed to simple-git, an attacker may still achieve remote code execution by enabling protocol.ext.allow=always and using an ext:: clone source.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

