CVE-2026-76228
ŚrednieCVSS 6.7Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 60 - wyżej niż 60% wszystkich znanych CVE
Streszczenie
Renovate w wersjach >=32.124.0 i przed 42.68.5 (oraz Mend renovate-ce/renovate-ee przed 13.3.0) zawiera podatność na wstrzyknięcie poleceń w obsłudze artefaktów Gradle Wrapper. Podczas przetwarzania aktualizacji Gradle Wrapper, Renovate wywołuje polecenie aktualizacji przez powłokę (np. /bin/sh -c ... ./gradlew :wrapper --gradle-distribution-url <wartość>). Jeśli atakujący dostarczy złośliwy plik gradle-wrapper.properties, którego distributionUrl zawiera składnię podstawiania poleceń, taką jak $(...), powłoka wykonuje ją przed przetworzeniem URL przez Gradle, co prowadzi do wykonania dowolnych poleceń w środowisku Renovate. Eksploatacja wymaga wprowadzenia złośliwego pliku do repozytorium skanowanego przez Renovate; problem występuje nawet gdy allowScripts jest wyłączone.
Ocena ryzyka
Ryzyko wykonania dowolnego kodu na maszynie z Renovate, co może prowadzić do pełnej kompromitacji systemu i dostępu do wrażliwych danych.
Rekomendacja
Zaktualizuj Renovate do wersji 42.68.5 lub nowszej (lub odpowiednio renovate-ce/renovate-ee do 13.3.0 lub nowszej), aby uzyskać poprawkę.
Inne podatności w Renovate
Zobacz wszystkie- CVE-2026-110868Wysokie
Renovate przed wersją 44.79.0 zawiera podatność server-side request forgery pozwalającą użytkownikom wymusić na współdzielonym kliencie HTTP żądania do dowolnych wewnętrznych adresów URL poprzez presety extends lub customDatasources. Atakujący może wskazać preset na endpoint usługi metadanych instancji, aby uzyskać poświadczenia AWS lub wyciec dane wrażliwe przez logi Renovate.
- CVE-2026-110867Wysokie
Renovate przed wersją 44.60.1 zawiera podatność obejścia listy dozwolonych pozwalającą repozytoriom ustawiać zastrzeżone zmienne środowiskowe poprzez umieszczenie env w współdzielonym presecie. Atakujący kontrolujący zewnętrznie pochodzący preset może nadpisać zmienne takie jak PATH, LD_PRELOAD, NODE_OPTIONS lub GIT_SSL_CAINFO w procesach potomnych na instancjach self-hosted.
- CVE-2026-110866Średnie
Renovate przed wersją 44.61.3 zawiera podatność obejścia mechanizmu ochrony, która pozwala pominąć sprawdzenia minimumReleaseAge, gdy użytkownik zażąda rebase PR przez pole wyboru rebase/retry. Atakujący publikujący złośliwą wersję zależności może doprowadzić do jej wypchnięcia do PR i uruchomienia w CI przed upływem wymaganego wieku wydania.
- CVE-2026-110865Wysokie
Renovate przed wersją 44.60.1 zawiera podatność obejścia listy dozwolonych pozwalającą użytkownikom repozytoriów ominąć ograniczenie allowedHeaders poprzez umieszczenie nagłówków hostRules w współdzielonych presetach. Atakujący może dostarczyć wewnętrzne lub zewnętrzne presety z niezwalidowanymi hostRules[].headers, aby wstrzyknąć własne nagłówki HTTP do żądań wysyłanych przez Renovate do innych hostów.
- CVE-2026-88889Wysokie
Renovate przed wersją 44.14.7 zawiera podatność command injection w menedżerze Maven Wrapper, która pozwala atakującym na wykonanie dowolnych poleceń poprzez podanie złośliwego parametru distributionType w pliku maven-wrapper.properties. Atakujący mogą wstrzyknąć polecenia powłoki poprzez nieescapowane wartości distributionType, aby uzyskać zdalne wykonanie kodu, gdy Renovate przetwarza aktualizacje Maven Wrapper w trybie binarySource=docker.
- CVE-2026-88888Wysokie
Renovate przed wersją 44.14.7 zawiera podatność command injection w menedżerze Mix podczas przetwarzania prywatnych zależności z nieescapowanymi parametrami organizacji. Atakujący mogą wstrzyknąć metaznaki powłoki poprzez złośliwe nazwy pakietów, aby wykonać dowolne polecenia jako użytkownik Renovate w trybie binarySource=docker.
- CVE-2026-88887Wysokie
Renovate to narzędzie do automatyzacji aktualizacji zależności. Podczas listowania tagów/digestów dla obrazu kontenera Renovate podąża za linkami paginacji dostarczonymi przez zdalny rejestr w nagłówku HTTP Link i dołącza poświadczenia rejestru do żądania follow-up bez weryfikacji, czy URL paginacji ma to samo pochodzenie co oryginalny rejestr. Złośliwy lub przejęty rejestr kontenerów może zatem wskazać nagłówek Link na host kontrolowany przez atakującego i otrzymać poświadczenia Renovate używane dla tego rejestru. Wykorzystanie wymaga, aby cel miał zależności kontenerowe (Docker) i już wchodził w interakcję ze złośliwym lub przejętym rejestrem. Naprawiono w Renovate 44.11.2 (obrazy npm i renovate/renovate), Mend Renovate CE/EE 15.4.0 oraz mend-renovate-enterprise-edition Helm chart 10.4.0; sprawdzenie tego samego pochodzenia można wyłączyć za pomocą RENOVATE_X_DOCKER_PAGINATION_ALLOW_CROSS_ORIGIN.
- CVE-2026-88886Wysokie
Renovate to narzędzie do automatyzacji aktualizacji zależności. W wersjach przed 44.14.7 (oraz w dystrybucjach Mend Renovate CE/EE przed 15.4.0 i mend-renovate-enterprise-edition Helm chart przed 10.4.0) moduł manager/gradle-wrapper nie escapuje wartości distributionUrl odczytanej z pliku gradle/wrapper/gradle-wrapper.properties repozytorium przed wywołaniem CLI Gradle Wrapper. W instalacjach self-hosted skonfigurowanych z binarySource=docker i allowedUnsafeExecutions=['gradleWrapper', ...], repozytorium dostarczające spreparowany distributionUrl (na przykład dodające metaznak powłoki i polecenie) może spowodować wykonanie dowolnych poleceń jako użytkownik Renovate, gdy Renovate przetwarza aktualizację Gradle Wrapper. Problem naprawiono w Renovate 44.14.7; jako obejście należy usunąć 'gradleWrapper' z allowedUnsafeExecutions.
- CVE-2026-88885Wysokie
Renovate przed wersją 44.14.7 zawiera podatność command injection w menedżerze gomod podczas przetwarzania nieescapowanych parametrów depName w poleceniach aktualizacji ścieżki importu w trybie binarySource=docker. Atakujący mogą wstrzyknąć metaznaki powłoki poprzez złośliwe nazwy zależności, aby wykonać dowolne polecenia jako użytkownik Renovate podczas aktualizacji głównych wersji modułów Go z włączoną opcją postUpdateOptions gomodUpdateImportPaths.
- CVE-2026-88884Średnie
Renovate w wersjach przed 44.3.1 (oraz obrazy Mend Renovate CE/EE przed 15.4.0, helm chart mend-renovate-ce przed 15.4.0 i mend-renovate-enterprise-edition przed 10.4.0) nie stosuje wewnętrznego sprawdzania minimalnego wieku wydania (minimumReleaseAge) do aktualizacji typu digest. Gdy repozytorium ma skonfigurowane minimumReleaseAge i zależności z updateType=digest (np. GitHub Actions przypięte do SHA, obrazy Docker, moduły Go, pakiety NuGet), Renovate nadal otwiera pull request dla nowo opublikowanego digestu, oznaczając go jedynie statusem renovate/stability-days.
Oryginalny opis (angielski, źródło NVD)
Renovate versions >=32.124.0 and before 42.68.5 (and Mend renovate-ce/renovate-ee before 13.3.0) contain a command injection vulnerability in Gradle Wrapper artifact handling. When Renovate processes Gradle Wrapper updates, it invokes a wrapper update command via a shell (e.g. /bin/sh -c ... ./gradlew :wrapper --gradle-distribution-url <value>). If an attacker supplies a malicious gradle-wrapper.properties whose distributionUrl contains shell command substitution syntax such as $(...), the shell evaluates it before Gradle parses the URL, resulting in arbitrary command execution in the Renovate runtime. Exploitation requires the attacker to introduce the malicious file into a repository that Renovate scans; the issue occurs even when allowScripts is disabled.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

