CVE-2026-12171
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 - wyżej niż 11% wszystkich znanych CVE
Streszczenie
auto-changelog przed wersją 2.6.1 scala konfigurację z repozytorium docelowego (plik .auto-changelog i klucz auto-changelog w package.json) do swoich opcji i honoruje wrażliwe na bezpieczeństwo opcje z tego niezaufanego źródła. Opcja handlebarsSetup jest przekazywana do require(), więc uruchomienie auto-changelog na zawartości kontrolowanej przez atakującego (np. w CI, które sprawdza głowę niezaufanego pull requesta, lub lokalnie na forku) wykonuje kod wybrany przez atakującego z uprawnieniami użytkownika lub zadania CI, w tym dostęp do sekretów workflow, bez instalowania zależności repozytorium. Opcja plugins podobnie ładuje moduły kontrolowane przez atakującego z repozytorium. W tych samych warunkach appendGitLog/appendGitTag umożliwiają wstrzyknięcie argumentów git (np. --output= do zapisu dowolnych plików), output pozwala pisać treści wpływające na atakującego do dowolnych ścieżek, a template powoduje żądanie wychodzące do wybranego przez atakującego URL. Wersja 2.6.1 traktuje konfigurację w repozytorium jako niezaufaną i odmawia uruchomienia, gdy ustawia te opcje, chyba że przekazano nowy flag --unsafe-config.
Ocena ryzyka
Uruchomienie auto-changelog na niezaufanym repozytorium może prowadzić do wykonania złośliwego kodu z uprawnieniami użytkownika lub zadania CI, co może skutkować kradzieżą sekretów, zapisem dowolnych plików lub wysyłaniem danych do atakującego.
Rekomendacja
Zaktualizuj auto-changelog do wersji 2.6.1 lub nowszej, która traktuje konfigurację w repozytorium jako niezaufaną i wymaga jawnego flagi --unsafe-config dla wrażliwych opcji.
Powiązane podatności
- CVE-2026-100109Krytyczne
Wtyczka WordPress Security For WooCommerce w wersjach 1.0.10–1.0.16 nie sprawdza uprawnień podczas tworzenia użytkowników przez akcję dostępną dla niezalogowanych odwiedzających i pozwala wybrać rolę nowego konta. Umożliwia to nieuwierzytelnionemu atakującemu utworzenie konta administratora i przejęcie witryny.
- CVE-2026-123025Krytyczne
W pluginie os-acme-client dla OPNsense (do wersji 4.17) wykryto podatność na wstrzyknięcie poleceń systemu operacyjnego w module walidacji Google Cloud DNS. Metoda DnsGcloud::prepare() dekoduje pole modelu dns_gcloud_key i bez walidacji ani escapowania wstawia wartości gcloud_account i gcloud_project do polecenia powłoki przekazywanego do proc_open() przez LeUtils::run_shell_command(). Uwierzytelniony zdalny użytkownik z uprawnieniami do wystawiania lub odnawiania certyfikatów przez WebGUI/API może uzyskać wykonanie dowolnego kodu jako root.
- CVE-2026-122992Krytyczne
W G4KLX DStarGateway i F4FXL DStarGateway przed wersją 7b75de6 funkcja dstarCallsignToAPRS w APRSUtils.cpp zawiera błąd niedomiaru liczby całkowitej wywołany pustym polem nadawcy RS-MS1A.
- CVE-2026-122321Krytyczne
Kyverno w wersji 1.18.0 przed 1.19.2 zawiera obejście weryfikacji podpisu w verifyImages, ponieważ wyniki weryfikacji są buforowane według ciągu referencji obrazu (np. tagu), a nie powiązane z zweryfikowanym skrótem, więc trafienia w pamięć podręczną pomijają sprawdzanie podpisów i atestacji. Atakujący mogący przesyłać obciążenia i zmieniać tag rejestru może rozgrzać pamięć podręczną podpisanym obrazem, przestawić tag i doprowadzić do przyjęcia niezweryfikowanego obrazu z przypiętym skrótem przez mutateDigest.
- CVE-2026-122313Krytyczne
Kyverno od wersji 1.17.0 przed 1.19.2 zawiera podatność na eskalację uprawnień umożliwiającą najemcom o zasięgu przestrzeni nazw modyfikowanie zasobów w innych przestrzeniach nazw poprzez wynik CEL targetMatchConstraints.expression w NamespacedMutatingPolicy bez sprawdzeń przestrzeni nazw. Atakujący mogą wyemitować dosłowny cel, taki jak RoleBinding innego najemcy, który kontroler w tle o zasięgu klastra następnie zmodyfikuje, dodając podmioty atakującego lub zmieniając Role, NetworkPolicies i ConfigMaps.
- CVE-2026-122311Krytyczne
Kyverno od wersji 1.16.0 przed 1.19.2 nie waliduje segmentów ścieżki w argumencie zasobu resource.get() i resource.post(), umożliwiając politykom CEL o zasięgu przestrzeni nazw wyjście poza swoją przestrzeń nazw. Najemcy mogący tworzyć NamespacedValidatingPolicy mogą wstawiać segmenty .., aby odczytywać i zapisywać dowolne obiekty klastra przy użyciu konta usługi kontrolera dopuszczania, prowadząc do przejęcia klastra.
- CVE-2026-122310Krytyczne
Kyverno od wersji 1.19.1 przed 1.19.2 waliduje urlPath w context.apiCall polityki po jego oczyszczeniu, ale wykonuje surową ścieżkę, której fragment lub zapytanie klient Kubernetes odrzuca. Użytkownik o zasięgu przestrzeni nazw mogący tworzyć politykę może ukryć segmenty ../ za # lub ?, aby dotrzeć do punktów końcowych o zasięgu klastra przy użyciu konta usługi Kyverno, uzyskując uprawnienia administratora klastra.
- CVE-2026-122304Krytyczne
Kyverno od wersji 1.17.0 przed 1.19.2 zawiera podatność na obejście autoryzacji umożliwiającą administratorom przestrzeni nazw wyjście poza ograniczenia przestrzeni nazw, ponieważ kontroler czyszczenia buduje kontekst ładowania z polityką nil. Atakujący mogą tworzyć CleanupPolicy w przestrzeni nazw z wpisami kontekstu apiCall lub globalReference, aby odczytywać Secrets z innych przestrzeni nazw i modyfikować validatingwebhookconfigurations przy użyciu konta usługi kontrolera czyszczenia.
- CVE-2026-122303Krytyczne
Kyverno od wersji 1.17.0 przed 1.19.2 zawiera podatność na obejście autoryzacji umożliwiającą najemcom przestrzeni nazw nadpisywanie zasobów w innych przestrzeniach nazw poprzez NamespacedMutatingPolicy mutate-existing targetMatchConstraints.expression. Atakujący mogą zwrócić literał mapy CEL fabrykujący cel z wybraną przez atakującego metadata.namespace, powodując nadpisanie przez uprzywilejowany kontroler w tle Secrets, Deployments lub polityk w całym klastrze.
- CVE-2026-122302Krytyczne
Kyverno przed wersją 1.19.2 zawiera podatność na eskalację uprawnień umożliwiającą administratorom przestrzeni nazw tworzenie zasobów poza ich RBAC, ponieważ sprawdzenia dopuszczania reguł generate weryfikują uprawnienia kontrolera, a nie autora. Atakujący mogą tworzyć politykę w przestrzeni nazw z regułami generate skierowanymi do innych przestrzeni nazw lub rodzajów o zasięgu klastra, powodując tworzenie lub klonowanie zasobów w całym klastrze przez kontroler w tle.
Oryginalny opis (angielski, źródło NVD)
auto-changelog before 2.6.1 merges configuration from inside the target repository (the .auto-changelog file and the auto-changelog key in package.json) into its options, and honors security-sensitive options from that untrusted source. The handlebarsSetup option is passed to require(), so running auto-changelog over attacker-controlled repository content (for example, in a CI workflow that checks out an untrusted pull request head, or locally on a forked or third-party repository) executes attacker-chosen code with the privileges of the invoking user or CI job, including access to workflow secrets, without the repository dependencies ever being installed. The plugins option similarly loads attacker-controlled modules from the repository. Under the same conditions, appendGitLog/appendGitTag allow git argument injection (e.g. --output= to write arbitrary files), output allows writing attacker-influenced content to arbitrary paths, and template causes an outbound request to an attacker-chosen URL. Version 2.6.1 treats in-repository configuration as untrusted and refuses to run when it sets these options, unless the new --unsafe-config flag is passed.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

