CRITICAL✓ PATCH🇬🇧 English

CVE-2026-66902

Command Injection w Google::Auth dla Perl — wykonanie dowolnych poleceń

CVSS 9.8pub. 2026-08-04upd. 2026-08-05

Biblioteka Google::Auth dla Perl w wersjach przed 0.06 wykonuje polecenie systemowe zdefiniowane w pliku JSON z danymi uwierzytelniającymi bez żadnej kontroli bezpieczeństwa. Pozwala to na uruchomienie dowolnego kodu z uprawnieniami procesu aplikacji, jeśli atakujący ma wpływ na treść pliku konfiguracyjnego.

Pokaż oryginał (EN)

Google::Auth versions before 0.06 for Perl run a command named in an external_account credentials JSON via an ungated system call. The Pluggable subclass reads credential_source.executable.command from the credentials JSON and runs it as `system($command)`, a single argument call that passes the whole string to /bin/sh -c. The executable's environment_variables map from the same JSON is copied into %ENV first. No opt-in gate guards the call. make_creds selects the Pluggable subclass whenever credential_source.executable is present, so the path is reached from the standard Application Default Credentials flow, including a "type": "external_account" configuration read from the file named by GOOGLE_APPLICATION_CREDENTIALS. Configurations without credential_source.executable do not select this subclass and do not reach the call. Any caller that builds credentials from a configuration it does not fully control runs the embedded command with the privileges of the application process.

🤖 Analiza AI
Jak działa

Podklasa Pluggable odczytuje wartość credential_source.executable.command z pliku JSON typu external_account i przekazuje ją bezpośrednio do wywołania system($command) — pojedynczy argument powoduje, że cały ciąg znaków jest interpretowany przez /bin/sh -c. Przed uruchomieniem polecenia zmienne środowiskowe zdefiniowane w polu environment_variables tego samego pliku JSON są kopiowane do %ENV. Nie istnieje żaden mechanizm opt-in ani bramka bezpieczeństwa chroniąca to wywołanie. Ścieżka ta jest osiągalna ze standardowego przepływu Application Default Credentials, w tym przez plik wskazany zmienną środowiskową GOOGLE_APPLICATION_CREDENTIALS.

Skutki

Atakujący, który może kontrolować lub podmienić plik JSON z danymi uwierzytelniającymi, może wykonać dowolne polecenia systemowe z uprawnieniami procesu aplikacji korzystającej z biblioteki, co może prowadzić do pełnego przejęcia kontroli nad środowiskiem uruchomieniowym.

Mitygacja

Należy zaktualizować bibliotekę Google::Auth do wersji 0.06 lub nowszej. Patch dostępny jest w repozytorium GoogleCloudPlatform/google-auth-library-perl (commit c95c77e70bec94f17e239d88050f843ea1cade95) oraz na MetaCPAN. Dodatkowo należy zapewnić, że pliki JSON z danymi uwierzytelniającymi nie mogą być modyfikowane przez nieuprawnione podmioty.

Kogo dotyczy

Google::Auth dla Perl w wersjach przed 0.06 — wyłącznie konfiguracje używające pliku external_account zawierającego pole credential_source.executable

Uwagi

Podatność dotyczy wyłącznie konfiguracji korzystających z pól credential_source.executable w plikach JSON typu external_account — konfiguracje bez tego pola nie są podatne. Informacja o podatności została opublikowana na liście oss-security w dniu 2026-08-04.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
Tagi
Command Injection
CWE
Referencje