The vulnerability is a half-blind Server-Side Request Forgery (SSRF) in the kube-controller-manager's in-tree Portworx volume driver. An authenticated user can create a StorageClass that points to a malicious endpoint for the Portworx API. When operations like provisioning, attaching, detaching, or deleting volumes are performed, the kube-controller-manager makes requests to this malicious endpoint.
Prior to the patch, the raw error messages from these backend API calls were returned to the user. If the malicious endpoint is an internal service, the error messages could contain sensitive information from that service's response, thus leaking data.
The identified vulnerable functions (portworx.portworxVolumeMounter.SetUpAt, portworx.portworxVolumeUnmounter.TearDownAt, portworx.portworxVolumeDeleter.Delete, and portworx.portworxVolumeProvisioner.Provision) are the entry points for these volume operations. The patches for these functions replace the returning of raw errors with logging the detailed error to the kube-controller-manager.log and returning a generic error message to the user. This change prevents the information leak, confirming that these functions were the ones processing the malicious input and producing the vulnerable output.