Google Cloud has issued a security bulletin resolving CVE-2026-79696 (CVSS score 8.8, High), a privilege escalation vulnerability impacting Google Cloud Run container orchestration workflows and Artifact Registry credential helpers. Under specific CI/CD build scenarios, an attacker with developer privileges could extract Google Cloud IAM service account tokens and elevate privileges across GCP project resources.

Executive Threat Summary & Exploit Landscape

Modern cloud-native pipelines automate the continuous building of container images via Google Cloud Build and deploy them directly to serverless Google Cloud Run instances. To authenticate against private container registries hosted on Artifact Registry, developers rely on the Google Cloud credential helper (docker-credential-gcloud).

Under CVE-2026-79696, build pipelines executing untrusted pull requests or third-party container base images could intercept the OAuth2 bearer tokens minted by the underlying Cloud Run service account. An attacker who compromises a developer workstation or submits a malicious build specification could capture these tokens and pivot into cloud storage buckets, secret managers, and production database instances.

Vulnerability Mechanics & Technical Root Cause (CWE-269)

The root cause resides in the process boundary handling of the Go-based Artifact Registry auth helper. When invoked by Docker or Podman, the helper reads the environment variable GOOGLE_APPLICATION_CREDENTIALS and requests an access token from the local metadata server at http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token:

# Vulnerable Credential Helper Execution Flow
POST /v1/projects/my-gcp-project/locations/us-central1/registries/my-repo HTTP/1.1
Host: us-central1-docker.pkg.dev
Authorization: Bearer ya29.c.b0AXv0zT... [Service Account Token Leaked via Subprocess IPC]

A flaw in command-line argument quoting allowed hostile build scripts to inject arbitrary callback flags into the helper process. When executed, the helper redirected the raw JSON token response into user-accessible build artifact output directories, exposing high-privilege bearer credentials in plain text.

Vulnerable Software Versions & Patch Status Matrix

Tool / Component Vulnerable Versions Patched Release Upgrade Urgency
Google Cloud SDK (gcloud CLI) Versions prior to 498.0.0 Version 498.0.0 or later Patch Available
Artifact Registry Docker Auth Helper artifact-registry-go-tools < 2.1.24 Version 2.1.24+ Patch Available
Managed Cloud Run Runtime All global regions Remediated Server-Side by Google Cloud Mitigated

Step-by-Step Remediation Playbook & Patch Commands

Enterprise cloud security teams and DevOps engineers should ensure all CI/CD build environments and developer machines are updated:

  1. Update Google Cloud CLI across Workstations & CI Runners:
    # Update gcloud components to latest build
    gcloud components update --quiet
    
    # Verify installed release version
    gcloud version
    # Ensure Google Cloud SDK >= 498.0.0
  2. Update Artifact Registry Credential Helper:
    # Re-install Docker authentication helper
    gcloud auth configure-docker us-central1-docker.pkg.dev --quiet
  3. Enforce Least Privilege on Cloud Run Service Accounts: Ensure Cloud Run services avoid using the default Compute Engine service account (which has broad Editor permissions). Assign a dedicated service account with minimal IAM roles:
    gcloud run services update my-service     --service-account=my-minimal-sa@my-project.iam.gserviceaccount.com     --region=us-central1

Threat Detection, Log Auditing & Forensic Queries

Use Google Cloud Cloud Audit Logs to detect unauthorized token usage originating from unexpected IP addresses:

// Cloud Logging Query in GCP Logs Explorer
protoPayload.authenticationInfo.principalEmail="my-service-account@my-project.iam.gserviceaccount.com"
AND NOT protoPayload.callerIp=~"^35.190."
AND protoPayload.methodName=~"storage.buckets|secretsmanager.versions"

Audit Cloud Build logs for unauthorized invocations of docker-credential-gcloud with unexpected command line arguments.