Skip to content

CVE-2020-8559: Privilege escalation from compromised node to cluster #92914

Closed

Description

@tallclair

CVSS Rating: Medium (6.4) CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H

If an attacker is able to intercept certain requests to the Kubelet, they can send a redirect response that may be followed by a client using the credentials from the original request. This can lead to compromise of other nodes.

If multiple clusters share the same certificate authority trusted by the client, and the same authentication credentials, this vulnerability may allow an attacker to redirect the client to another cluster. In this configuration, this vulnerability should be considered High severity.

Am I vulnerable?

You are only affected by this vulnerability if you treat the node as a security boundary, or if clusters share certificate authorities and authentication credentials.

Note that this vulnerability requires an attacker to first compromise a node through separate means.

Affected Versions

  • kube-apiserver v1.18.0-1.18.5
  • kube-apiserver v1.17.0-1.17.8
  • kube-apiserver v1.16.0-1.16.12
  • all kube-apiserver versions prior to v1.16.0

How do I mitigate this vulnerability?

To mitigate this vulnerability you must upgrade the kube-apiserver to a patched version.

Fixed Versions

Fix impact: Proxied backends (such as an extension API server) that respond to upgrade requests with a non-101 response code may be broken by this patch.

To upgrade, refer to the documentation: https://kubernetes.io/docs/tasks/administer-cluster/cluster-management/#upgrading-a-cluster

Detection

Upgrade requests should never respond with a redirect. If any of the following requests have a response code in the 300-399 range, it may be evidence of exploitation. This information can be found in the Kubernetes audit logs.

  • pods/exec
  • pods/attach
  • pods/portforward
  • any resource: proxy

If you find evidence that this vulnerability has been exploited, please contact security@kubernetes.io

Acknowledgements

This vulnerability was reported by Wouter ter Maat of Offensi, via the Kubernetes bug bounty.

/area security
/kind bug
/committee product-security
/sig api-machinery
/area apiserver

Activity

  1. added
    kind/bugCategorizes issue or PR as related to a bug.
    on Jul 8, 2020
  2. self-assigned this
    on Jul 8, 2020
  3. added
    needs-sigIndicates an issue or PR lacks a `sig/foo` label and requires one.
    on Jul 8, 2020
  4. k8s-ci-robot commented on Jul 8, 2020

    @k8s-ci-robot
    Contributor

    @tallclair: Closing this issue.

    Details

    In response to this:

    This issue is reserved for a future vulnerability announcement.

    /close

    Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

  5. changed the title [-][RESERVED][/-] [+]CVE-2020-8559: Privilege escalation from compromised node to cluster[/+] on Jul 15, 2020
  6. tallclair commented on Jul 15, 2020

    @tallclair
    MemberAuthor

    /area security
    /kind bug
    /committee product-security
    /sig api-machinery
    /area apiserver

  7. added
    committee/security-responseDenotes an issue or PR intended to be handled by the product security committee.
    sig/api-machineryCategorizes an issue or PR as relevant to SIG API Machinery.
    and removed
    needs-sigIndicates an issue or PR lacks a `sig/foo` label and requires one.
    on Jul 15, 2020
  8. tdwyer commented on Jul 22, 2020

    @tdwyer
  9. tabbysable commented on Jul 22, 2020

    @tabbysable
    Member
  10. tallclair commented on Jul 23, 2020

    @tallclair
    MemberAuthor

    @tabbysable Any interest in turning your POC into a Kubernetes E2E test? I was intending to use the overridden redirect feature added in #92850 as the basis for the E2E.

  11. tabbysable commented on Jul 24, 2020

    @tabbysable
    Member

    @tallclair that is indeed interesting! I'll put this on my list and try to look at it in the next couple weeks.

  12. PushkarJ commented on Dec 2, 2021

    @PushkarJ
    Member

    /label official-cve-feed

    (Related to kubernetes/sig-security#1)

  13. added
    official-cve-feedIssues or PRs related to CVEs officially announced by Security Response Committee (SRC)
    on Dec 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area/apiserverarea/securitycommittee/security-responseDenotes an issue or PR intended to be handled by the product security committee.kind/bugCategorizes issue or PR as related to a bug.official-cve-feedIssues or PRs related to CVEs officially announced by Security Response Committee (SRC)sig/api-machineryCategorizes an issue or PR as relevant to SIG API Machinery.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions