Skip to content

Access Restriction Bypass in kube-apiserver

Moderate severity GitHub Reviewed Published May 28, 2021 to the GitHub Advisory Database • Updated Jul 31, 2023

Package

gomod k8s.io/kubernetes (Go)

Affected versions

>= 1.20.0, <= 1.20.5
>= 1.19.0, <= 1.19.9
<= 1.18.17

Patched versions

1.20.6
1.19.10
1.18.18

Description

A vulnerability in Kubernetes kube-apiserver could allow node updates to bypass a Validating Admission Webhook and allow unauthorized node updates. The information that is provided to the admission controller could contain old configurations that overwrite values used for validation. Since the overwriting takes place before the validation, this could lead the admission controller to accept requests that should be blocked. The vulnerability can be exploited when an update action on node resources is performed and an admission controller is in place and configured to validate the action.

Users are only affected by this vulnerability if they are running a Validating Admission Webhook for Nodes that denies admission based partially on the old state of the Node object. It only impacts validating admission plugins that rely on old values in certain fields and does not impact calls from kubelets that go through the built-in NodeRestriction admission plugin.

References

Published to the GitHub Advisory Database May 28, 2021
Published by the National Vulnerability Database Sep 6, 2021
Reviewed Mar 22, 2022
Last updated Jul 31, 2023

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
High
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
High

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H

EPSS score

0.068%
(32nd percentile)

CVE ID

CVE-2021-25735

GHSA ID

GHSA-g42g-737j-qx6j

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.