Katalog CVE

CVE-2026-12171

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.22%

Percentyl 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

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