LiveActive security incident?Get immediate response
CVE Record

CVE-2026-66902: Google::Auth versions before 0.06 for Perl run a command named in an external_account credentials JSON via an ungated system call

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.

CriticalCVSS 9.8Not KEV-listedUpdated
Glexia's TakeAutomated analysiscritical

Security readout for executives and security teams

Plain-English summary

A malicious or tampered Google external-account credentials file can make affected Perl applications run an embedded operating-system command with the application's privileges. This could expose data, alter systems, or interrupt services. Only Google::Auth versions before 0.06 are affected, and the dangerous path requires an executable credential source.

Executive priority

Treat as urgent for systems using affected Perl authentication libraries with executable external-account credentials. Prioritize internet-facing, multi-tenant, automation, and high-privilege workloads. Systems not using Google::Auth before 0.06, or not using executable credential sources, are not exposed through the described path.

Technical view

Google::Auth before 0.06 selects its Pluggable credential subclass when credential_source.executable is present. It copies JSON-controlled environment variables into the process environment, then passes the command string to a single-argument system call, invoking a shell without an opt-in gate. The standard Application Default Credentials flow can reach this behavior through GOOGLE_APPLICATION_CREDENTIALS.

Likely exposure

Exposure is highest where Perl applications use Google::Auth before 0.06 and load external-account credential JSON from files or configuration channels not fully controlled by trusted administrators. Configurations without credential_source.executable do not reach the vulnerable subclass. Application privileges and accessible secrets determine impact.

Exploitation context

The supplied sources do not establish active exploitation, and this CVE is not listed as KEV in the source bundle. Exploitation requires influencing a credentials configuration consumed by the application. Successful abuse executes the embedded command with the application's operating-system privileges and environment.

Researcher notes

The vulnerability combines CWE-78 command injection with unsafe reliance on externally controlled functionality. The decisive conditions are a pre-0.06 package, selection of the Pluggable subclass, and influence over credential_source.executable.command. The source bundle supports a 9.8 CVSS v3.1 score but provides no evidence of public exploitation.

Mitigation direction

  • Upgrade Google::Auth for Perl to version 0.06 or later.
  • Restrict credential configuration files to trusted administrators and controlled deployment systems.
  • Remove executable credential sources where they are unnecessary.
  • Review vendor guidance and the referenced patch before deploying changes.
  • Rotate exposed credentials if an untrusted configuration may have been processed.

Validation and detection

  • Inventory Perl applications and identify installed Google::Auth versions.
  • Locate external-account configurations containing credential_source.executable.
  • Confirm GOOGLE_APPLICATION_CREDENTIALS cannot reference attacker-controlled or writable files.
  • Review file permissions, deployment pipelines, and configuration provenance.
  • Inspect application and system telemetry for unexpected child processes around credential initialization.
  • Verify upgraded environments use Google::Auth 0.06 or later.
Prepared
Confidence
high
Sources
4

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · medium confidence lookup

CWE-78: Command execution behavior lookup

Command injection weaknesses can lead defenders to review execution techniques and command interpreter telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cwe · low confidence lookup

CWE-829: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-66902 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Critical
CVSS
9.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
4Timeline events
2ADP providers
3Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
9.8CVSS 3.1CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H3.95.9CISA-ADP

Vulnerability scoring details

Base CVSS 3.1 score

9.8Critical
CVSS 3.1 vector shape for CVE-2026-66902Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. Source timelineCPANSec

    Version 0.06 released with fix, which is not noted in the changelog.

  2. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  3. CVE publishedCVE Program

    The CVE record was published.

  4. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CVECVE Program Container
CISA-ADPCISA ADP Vulnrichment
cvssV3_1other:ssvc
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
CJCOLLIERGoogle::AuthGoogle-Auth, 0unaffected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-78 · source CWE mapping

Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.

CWE-829 · source CWE mapping

Inclusion of Functionality from Untrusted Control Sphere

Inclusion of Functionality from Untrusted Control Sphere represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.