---
title: "CVE-2026-54725: vault-addr annotation SSRF -- webhook makes outbound HTTP call to attacker URL during admission; vault-serviceaccount enables cluster-wide SA token theft via TokenRequest API"
url: https://erroneo.us/security/cve/CVE-2026-54725/
description: "CVE-2026-54725 (github.com/bank-vaults/vault-secrets-webhook (Go)): vault-secrets-webhook is a Kubernetes mutating webhook that makes direct secret…"
type: vulnerability-record
section: "Security Digest"
date_published: 2026-07-31
date_modified: 2026-07-31
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2026-54725"
kev: false
cvss: 9.6
epss: 0.00449
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2026-54725: vault-addr annotation SSRF -- webhook makes outbound HTTP call to attacker URL during admission; vault-serviceaccount enables cluster-wide SA token theft via TokenRequest API

**Signal:** Critical, preconditions apply. Severe if exploited, but exploitation needs conditions that may not apply to you. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- Not in CISA KEV , but CISA’s SSVC assessment records a public proof-of-concept, so attack code exists.
- EPSS 0.4% , percentile 38: FIRST’s model estimates a 0.4% chance of exploitation activity in the next 30 days, higher than 38% of all scored CVEs (low). EPSS is a probability, not a verdict.
- Needs an account (low (any account)). Exposure depends on who can log in.
- Only applies if your dependency tree includes github.com/bank-vaults/vault-secrets-webhook (Go) <= 1.22.2, fixed in 1.23.1 . Check your lockfile, including transitive dependencies.

## What it is

vault-secrets-webhook is a Kubernetes mutating webhook that makes direct secret injection into Pods possible. Prior to 1.23.1, parseVaultConfig() in pkg/webhook/config.go accepts the vault.security.banzaicloud.io/vault-addr annotation, MutateConfigMap and MutateSecret call newVaultClient in pkg/webhook/webhook.go, and vault.security.banzaicloud.io/vault-serviceaccount can cause a ServiceAccount JWT to be sent to an attacker-controlled Vault address. This issue is fixed in version 1.23.1.

## Affected packages

- Go `github.com/bank-vaults/vault-secrets-webhook` <= 1.22.2 → fixed: 1.23.1

## Affected products (CVE record)

- bank-vaults vault-secrets-webhook: < 1.23.1

## Severity

- GitHub_M CVSS 3.1: 9.6 `CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N`
- GitHub CVSS 3.1: 9.6 `CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation poc , automatable no , technical impact partial .
- FIRST EPSS (model of 2026-10-21): 0.45% probability of exploitation activity in the next 30 days; percentile 38.

## Sources

- [GitHub Advisory GHSA-r2v3-8gwf-7ghm](https://github.com/advisories/GHSA-r2v3-8gwf-7ghm)
- [CVE.org record CVE-2026-54725](https://www.cve.org/CVERecord?id=CVE-2026-54725)
- [NVD entry CVE-2026-54725](https://nvd.nist.gov/vuln/detail/CVE-2026-54725)
- [github.com](https://github.com/bank-vaults/vault-secrets-webhook/security/advisories/GHSA-r2v3-8gwf-7ghm)
- [github.com](https://github.com/bank-vaults/vault-secrets-webhook/commit/76db45976fee0f54cafd94dffa425e6b542f65a0)
- [github.com](https://github.com/bank-vaults/vault-secrets-webhook/releases/tag/v1.23.1)

---
Source page: https://erroneo.us/security/cve/CVE-2026-54725/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
