CVE Catalog

CVE-2026-40109

LowCVSS 3.1
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.13%

2th percentile - higher than 2% of all known CVEs

Summary

Flux notification-controller before 1.8.3 does not validate the email claim of Google OIDC tokens used for Pub/Sub push authentication in the gcr Receiver type. This allows any valid Google-issued token to authenticate against the Receiver webhook endpoint and trigger unauthorized Flux reconciliations if the attacker knows the webhook URL. The webhook path is hard to discover without cluster access or leaked secrets.

Risk Assessment

The risk is limited because Flux reconciliation is idempotent and controllers deduplicate requests, so the impact is typically a harmless no-op refresh. However, exploitation requires knowledge of a hard-to-guess webhook path, reducing the likelihood of attack.

Recommendation

Update Flux notification-controller to version 1.8.3 or later, which fixes this vulnerability. Additionally, protect secrets and Pub/Sub configuration and restrict read access to Receiver status fields in the cluster.

Related vulnerabilities

Original NVD description (English source)

Flux notification-controller is the event forwarder and notification dispatcher for the GitOps Toolkit controllers. Prior to 1.8.3, the gcr Receiver type in Flux notification-controller does not validate the email claim of Google OIDC tokens used for Pub/Sub push authentication. This allows any valid Google-issued token, to authenticate against the Receiver webhook endpoint, triggering unauthorized Flux reconciliations. Exploitation requires the attacker to know the Receiver's webhook URL. The webhook path is generated as /hook/sha256sum(token+name+namespace), where the token is a random string stored in a Kubernetes Secret. There is no API or endpoint that enumerates webhook URLs. An attacker cannot discover the path without either having access to the cluster and permissions to read the Receiver's .status.webhookPath in the target namespace, or obtaining the URL through other means (e.g. leaked secrets or access to Pub/Sub config). Upon successful authentication, the controller triggers a reconciliation for all resources listed in the Receiver's .spec.resources. However, the practical impact is limited: Flux reconciliation is idempotent, so if the desired state in the configured sources (Git, OCI, Helm) has not changed, the reconciliation results in a no-op with no effect on cluster state. Additionally, Flux controllers deduplicate reconciliation requests, sending many requests in a short period results in only a single reconciliation being processed. This vulnerability is fixed in 1.8.3.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS