---
id: "CVE-2026-74759"
kind: "vulnerability"
aliases: ["CVE-2026-74759"]
title: "Google::Auth for Perl: untrusted AWS credential config can force server-side requests"
severity: "unknown"
cvss: null
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["aws", "gcp", "google-auth", "package", "perl"]
not_affected_if: ["fixed-config", "no-aws-subject-token", "no-external-account"]
published_at: "2026-11-01T17:16:34+00:00"
first_seen_at: "2026-11-01T17:21:03+00:00"
updated_at: "2026-11-01T17:22:57+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-74759", "first_seen_at": "2026-11-01T17:21:03+00:00"}]
---

# Google::Auth for Perl: untrusted AWS credential config can force server-side requests

Google::Auth for Perl version 0.12 sends requests to URLs taken from an external_account AWS credential configuration without checking the host. An attacker who controls that configuration can make the server call internal services or cloud metadata endpoints.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check whether the installed Google::Auth Perl module is version `0.12` (for example with `perl -MGoogle::Auth -e 'print $Google::Auth::VERSION'`).
- Search the code for `external_account` configurations loaded from user input or other untrusted sources.
- Look for use of Google::Auth::ExternalAccountCredentials::Aws in the codebase.

## Timeline

- 2026-11-01T17:21:03+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-74759

## From the sources

Google::Auth versions 0.12 for Perl allow server side request forgery via unvalidated credential_source URLs in AWS external account credentials.

An external_account configuration with the AWS subject token type selects Google::Auth::ExternalAccountCredentials::Aws. Its retrieve_subject_token sends requests to the imdsv2_session_token_url, url and region_url fields of credential_source without the host check that the other credential classes apply.

Any caller that builds credentials from a configuration it does not fully control issues GET and PUT requests to hosts the configuration names, including internal services and link-local metadata endpoints.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
