GPU VulnDB

Database/Control plane, storage & DevOps

Sealed Secrets controller: unauthenticated template oracle recovers sealed secret plaintext

CVSS 4.2CVE-2026-59341Control plane, storage & DevOpscurated

Impact

The controller's unauthenticated POST /v1/verify and /v1/rotate handlers decrypt a target SealedSecret and then render Go templates found in spec.template.data using the decrypted values as context, and template execution failures are reflected in the HTTP status code (200 on success, 409 on failure). Because spec.template.data is left out of the AEAD authenticated-data binding, an attacker can reuse a victim's metadata and encryptedData verbatim while substituting arbitrary template logic, turning the controller into a character-by-character decryption oracle. On a GPU cluster the sealed secrets in question are typically registry pull credentials, object-store and dataset keys, model-weight download tokens and cloud IAM material - the keys that gate customer data and paid capacity. Any workload pod on the cluster can reach the service port, so a single tenant container is enough to extract the cluster's committed secrets.

Who can reach it

Any pod in the cluster, or anyone who can kubectl port-forward, reaching the controller's internal service port (:8080). No authentication required; the endpoints are unauthenticated by design. Not exposed to the internet in a default install.

What to do

Upgrade the sealed-secrets controller to the fixed release named in GHSA-qj4p-m373-p2wg and restart the controller Deployment - a control-plane namespace rollout, no node drain and no workload interruption. Because the flaw allows full plaintext recovery, treat any secret that was sealed and reachable during the exposure window as disclosed and rotate it. Until the upgrade lands, restrict reachability of the controller service with a NetworkPolicy so only the control-plane namespace can open the port.

References

Related entries

All Control plane, storage & DevOps entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.