Skip to content

CVE-2022-3294: Node address isn't always verified when proxying #178

@pacoxu

Description

@pacoxu

What happened?

kubernetes/kubernetes#113757

What did you expect to happen?

A security issue was discovered in Kubernetes where users may have access to secure endpoints in the control plane network. Kubernetes clusters are only affected if an untrusted user can modify Node objects and send proxy requests to them.
Kubernetes supports node proxying, which allows clients of kube-apiserver to access endpoints of a Kubelet to establish connections to Pods, retrieve container logs, and more. While Kubernetes already validates the proxying address for Nodes, a bug in kube-apiserver made it possible to bypass this validation. Bypassing this validation could allow authenticated requests destined for Nodes to to the API server's private network.

This issue has been rated Medium (CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H), and assigned CVE-2022-3294

These releases will be published over the course of today, November 10th.
Fix impact: In some cases, the fix can break clients that depend on the nodes/proxy subresource, specifically if a kubelet advertises a localhost or link-local address to the Kubernetes control plane.

How can we reproduce it (as minimally and precisely as possible)?

Fixed Versions
• Kubernetes kube-apiserver v1.25.4
• Kubernetes kube-apiserver v1.24.8
• Kubernetes kube-apiserver v1.23.14
• Kubernetes kube-apiserver v1.22.16

Anything else we need to know?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions