id: CVE-2024-9014

info:
  name: pgAdmin 4 - Authentication Bypass
  author: s4e-io
  severity: critical
  description: |
    pgAdmin 4 versions 8.11 and earlier are vulnerable to a security flaw in OAuth2 authentication. This vulnerability allows an attacker to potentially obtain the client ID and secret, leading to unauthorized access to user data.
  impact: |
    Attackers can potentially obtain OAuth2 client ID and secret from exposed configuration in the login page, leading to unauthorized access to user data, authentication bypass, and compromise of pgAdmin 4 instances.
  remediation: |
    Update pgAdmin 4 to a version later than 8.11 that addresses the OAuth2 authentication vulnerability and properly secures client credentials from public exposure.
  reference:
    - https://github.com/EQSTLab/CVE-2024-9014
    - https://github.com/pgadmin-org/pgadmin4/issues/7945
    - https://nvd.nist.gov/vuln/detail/CVE-2024-9014
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
    cvss-score: 9.9
    cve-id: CVE-2024-9014
    cwe-id: CWE-522
    epss-score: 0.09681
    epss-percentile: 0.94885
  metadata:
    verified: true
    max-request: 1
    vendor: pgadmin-org
    product: pgadmin4
    fofa-query: "pgadmin4"
  tags: cve,cve2024,pgadmin,exposure,auth-bypass,vkev,vuln

http:
  - raw:
      - |
        GET /login?next=/ HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        negative: true
        regex:
          - 'OAUTH2_CLIENT_SECRET": null'

      - type: word
        part: body
        words:
          - '<title>pgAdmin 4</title>'
          - 'OAUTH2_CLIENT_SECRET'
        condition: and

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