Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/vulndb: potential Go vuln in github.com/cilium/cilium: GHSA-gj2r-phwg-6rww #2078

Closed
GoVulnBot opened this issue Sep 26, 2023 · 4 comments
Closed
Assignees
Labels
excluded: EFFECTIVELY_PRIVATE This vulnerability exists in a package can be imported, but isn't meant to be outside that module.

Comments

@GoVulnBot
Copy link

In GitHub Security Advisory GHSA-gj2r-phwg-6rww, there is a vulnerability in the following Go packages or modules:

Unit Fixed Vulnerable Ranges
github.com/cilium/cilium 1.12.14 <= 1.12.13

Cross references:

See doc/triage.md for instructions on how to triage this report.

modules:
    - module: github.com/cilium/cilium
      versions:
        - introduced: TODO (earliest fixed "1.12.14", vuln range "<= 1.12.13")
      packages:
        - package: github.com/cilium/cilium
    - module: github.com/cilium/cilium
      versions:
        - introduced: TODO (earliest fixed "1.14.2", vuln range ">= 1.14.0, <= 1.14.1")
      packages:
        - package: github.com/cilium/cilium
    - module: github.com/cilium/cilium
      versions:
        - introduced: TODO (earliest fixed "1.13.7", vuln range ">= 1.13.0, <= 1.13.6")
      packages:
        - package: github.com/cilium/cilium
summary: Kubernetes users may update Pod labels to bypass network policy
description: |-
    ### Impact

    An attacker with the ability to update pod labels can cause Cilium to apply
    incorrect network policies.

    This issue arises due to the fact that on pod update, Cilium incorrectly uses
    user-provided pod labels to select the policies which apply to the workload in
    question.

    This can affect:

    * Cilium network policies that use the namespace, service account or cluster
    constructs to restrict traffic
    * Cilium clusterwide network policies that use Cilium namespace labels to select
    the Pod
    * Kubernetes network policies

    Non-existent construct names can be provided, which bypass all network policies
    applicable to the construct. For example, providing a pod with a non-existent
    namespace as the value of the `io.kubernetes.pod.namespace` label results in
    none of the namespaced CiliumNetworkPolicies applying to the pod in question.

    This attack requires the attacker to have [Kubernetes API Server
    access](https://docs.cilium.io/en/latest/security/threat-model/#kubernetes-api-server-attacker),
    as described in the Cilium Threat Model.

    ### Patches

    This issue affects:

    - Cilium <= v1.14.1
    - Cilium <= v1.13.6
    - Cilium <= v1.12.13

    This issue has been resolved in:

    - Cilium v1.14.2
    - Cilium v1.13.7
    - Cilium v1.12.14

    ### Workarounds

    An admission webhook can be used to prevent pod label updates to the
    `k8s:io.kubernetes.pod.namespace` and `io.cilium.k8s.policy.*` keys.

    ### Acknowledgements The Cilium community has worked together with members of
    Palantir and Isovalent to prepare these mitigations. Special thanks to @odinuge
    for reporting this issue and to @nebril for the fix.

    ### For more information If you have any questions or comments about this
    advisory, please reach out on
    [Slack](https://docs.cilium.io/en/latest/community/community/#slack).

    If you think you have found a vulnerability in Cilium, we strongly encourage you
    to report it to our private security mailing list –
    [security@cilium.io](mailto:security@cilium.io) – first, before disclosing
    them in any public forums. This is a private mailing list where only members of
    the Cilium internal security team are subscribed to, and is treated as top
    priority.
cves:
    - CVE-2023-39347
ghsas:
    - GHSA-gj2r-phwg-6rww
references:
    - advisory: https://github.com/cilium/cilium/security/advisories/GHSA-gj2r-phwg-6rww
    - advisory: https://github.com/advisories/GHSA-gj2r-phwg-6rww

@jba jba self-assigned this Oct 2, 2023
@jba
Copy link
Contributor

jba commented Oct 2, 2023

Vulnerability in tool.

@jba jba added the excluded: EFFECTIVELY_PRIVATE This vulnerability exists in a package can be imported, but isn't meant to be outside that module. label Oct 2, 2023
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/531705 mentions this issue: data/excluded: batch add 18 excluded reports

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/592763 mentions this issue: data/reports: unexclude 75 reports

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/606791 mentions this issue: data/reports: unexclude 20 reports (11)

gopherbot pushed a commit that referenced this issue Aug 21, 2024
  - data/reports/GO-2023-2051.yaml
  - data/reports/GO-2023-2053.yaml
  - data/reports/GO-2023-2055.yaml
  - data/reports/GO-2023-2063.yaml
  - data/reports/GO-2023-2065.yaml
  - data/reports/GO-2023-2066.yaml
  - data/reports/GO-2023-2067.yaml
  - data/reports/GO-2023-2068.yaml
  - data/reports/GO-2023-2069.yaml
  - data/reports/GO-2023-2070.yaml
  - data/reports/GO-2023-2071.yaml
  - data/reports/GO-2023-2072.yaml
  - data/reports/GO-2023-2073.yaml
  - data/reports/GO-2023-2075.yaml
  - data/reports/GO-2023-2078.yaml
  - data/reports/GO-2023-2079.yaml
  - data/reports/GO-2023-2080.yaml
  - data/reports/GO-2023-2084.yaml
  - data/reports/GO-2023-2085.yaml
  - data/reports/GO-2023-2088.yaml

Updates #2051
Updates #2053
Updates #2055
Updates #2063
Updates #2065
Updates #2066
Updates #2067
Updates #2068
Updates #2069
Updates #2070
Updates #2071
Updates #2072
Updates #2073
Updates #2075
Updates #2078
Updates #2079
Updates #2080
Updates #2084
Updates #2085
Updates #2088

Change-Id: I0103dfe39411ae2cf3d74933349260db7dc3496b
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/606791
Commit-Queue: Tatiana Bradley <tatianabradley@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Damien Neil <dneil@google.com>
Auto-Submit: Tatiana Bradley <tatianabradley@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
excluded: EFFECTIVELY_PRIVATE This vulnerability exists in a package can be imported, but isn't meant to be outside that module.
Projects
None yet
Development

No branches or pull requests

3 participants