Kubernetes is correcting fixed-version claims for unfixed CVEs
Scheduled CVE record corrections may produce new scanner findings for longstanding risks. The response depends on configuration and authorization, because the affected issues have no patch.
The Kubernetes Security Response Committee has announced corrections to older CVE records. On June 1, it plans to remove incorrect fixed-version information for CVE-2020-8561, CVE-2020-8562, and CVE-2021-25740. The issues remain unfixed. Scanners may consequently begin reporting findings in installations where they previously reported none.
I would communicate this before the feed changes reach the vulnerability queue. A newly visible finding can represent corrected evidence about an existing risk. The committee says work on official Open Source Vulnerabilities files exposed the inaccurate version information. Operators need to reassess exposure against the actual prerequisites instead of interpreting the scanner change as proof that a recent upgrade introduced a vulnerability.
My Kubernetes experience spans eight years, and my confidence in its failure handling does not imply that every security issue has a release containing a fix. I value explicit operational policy in a system whose controllers converge declared state. Here, the declared configuration and permissions determine mitigations that a version-only inventory cannot demonstrate.
Version information and exposure answer different questions
The announcement describes these issues as architectural tradeoffs that the project cannot fully remediate in code without breaking Kubernetes functionality. That makes an incorrect fixed-version field especially harmful. A scanner using that field can suppress a finding even though the operator still needs to assess the relevant configuration.
I would keep the affected-version result and the environment assessment separate in the security record. The first establishes what the upstream advisory says about the software. The second explains whether the installation provides the capabilities needed to exploit it. A mitigation should identify the configuration or access restriction that supports the assessment, with enough detail for a later reviewer to reproduce it.
The announcement also mentions CVE-2020-8554. Its record already correctly identifies all versions as affected, but the committee plans to standardize its version-number formatting. I would distinguish that formatting change from the incorrect fixed-version claims affecting the other records. They have different reasons for changing even though they appear in the same maintenance effort. I would preserve that explanation in any internal notification so that responders can distinguish a metadata correction from a change to the underlying exposure.
Webhook redirects can expose control-plane resources
The CVE-2020-8561 issue describes actors controlling mutating or validating webhook responses redirecting API-server requests toward private networks accessible to the API server. At log verbosity ten, a person able to read the API-server logs may see redirected response content and headers. That combines control of a webhook response with access to sensitive diagnostic output.
The recommended configuration mitigation keeps API-server verbosity below ten and disables profiling. The issue explains that disabling profiling prevents dynamic changes to the log level. It also describes limiting API-server access to sensitive resources or networks. These controls act at different points in the documented exposure.
I would be precise about the log-setting mitigation. The issue states that redirects toward private networks can still occur at lower verbosity, while the response body no longer enters the logs. A review should therefore avoid claiming that reducing verbosity prevents redirects. It limits the described disclosure through logs and needs to be assessed alongside who controls webhook behavior and what the API server can reach.
For an actual installation, I would inspect the effective API-server configuration and the permissions around its logs. A configuration file in a repository is useful evidence of intent. The assessment also needs evidence that the running control plane uses those settings. I would record any operational need for profiling so that a later debugging change does not silently invalidate the mitigation.
DNS validation and connection can disagree
The CVE-2020-8562 issue explains a time-of-check to time-of-use problem in proxied connections. Kubernetes resolves a name and checks that the returned addresses avoid prohibited local ranges. It then resolves the name again for the actual connection. A DNS server returning different uncached answers can make the validated address differ from the connected address.
The issue limits the relevant exposure to particular permissions. It identifies untrusted users who can modify Node objects and proxy to them, or modify StorageClass objects and access controller-manager logs. Those details are necessary when reviewing a finding. The label that all versions are affected does not establish that every authenticated user can exercise these paths.
The advisory proposes a caching resolver such as dnsmasq, with low nonzero cache settings that keep answers consistent across the validation and connection. I would review that mitigation with the people responsible for control-plane name resolution. The important property is consistent answers across the two operations. Merely identifying the resolver software does not establish that its effective cache configuration supplies that property.
Endpoint permissions can redirect a trusted intermediary
The CVE-2021-25740 issue describes a confused-deputy problem. A user able to create or edit Endpoints or EndpointSlices can potentially direct an Ingress or load-balancer implementation toward backend addresses that the user should not access. If network policy already trusts that intermediary, the policy may not stop exposure across namespaces.
The mitigation restricts write access to these resources. The May announcement notes that default edit and admin roles no longer include the permissions for clusters created with Kubernetes 1.22, while upgraded older clusters need an audit of system:aggregate-to-edit. I would also review purpose-built roles wherever an application legitimately needs to manage endpoints. Removing a default permission does not explain every custom grant in a cluster.
The original issue recommends auditing Services without selectors, while warning that some such Services have legitimate controller-managed endpoints. I would use that inventory to identify owners and intended behavior. Treating every selectorless Service as malicious would miss the distinction the advisory asks administrators to make.
Before June 1, I would attach these exposure assessments to the relevant vulnerability records and test proposed configuration changes outside production. The committee recommends that validation explicitly. When scanners consume the corrected version information, the response should already identify which permissions and control-plane settings were examined, which mitigations are effective, and which configurations still need changes.