WordPress Core < 4.8.3 - SQL Injection due to Double Prepare approach
Strategic Overview
- Status
- Patched in 3.7.23
- Affected Core
- WordPress 4.8
- Affected Version
3.7 – 4.8.2 · 13 branches- CVSS
- 9.8Critical
- Weakness type
- CWE-89 · Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
- CVE
CVE-2017-16510
At a glance
CVE-2017-16510 is a critical-severity Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in the WordPress 4.8 WordPress release line, affecting 3.7 – 4.8.2 · 13 branches. It carries a CVSS score of 9.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires no authentication. The issue is fixed in version 3.7.23; sites on affected versions should update now. Disclosed October 2017, reported by Anthony Ferrara.
Vulnerability Overview
WordPress before 4.8.3 is affected by an issue where $wpdb->prepare() can create unexpected and unsafe queries leading to potential SQL injection (SQLi) in plugins and themes, as demonstrated by a "double prepare" approach, a different vulnerability than CVE-2017-14723.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
WordPress 4.8 3.7 – 4.8.2 · 13 branches carries this weakness at prepare(), and reaching it takes a caller who can reach the endpoint. SQL injection happens when request data is concatenated into a query instead of being bound as a parameter, letting an attacker change the structure of the statement rather than just its values.
A working injection can read any table the database user can see, which on a WordPress install means user records, password hashes and session or API secrets stored in options. For WordPress 4.8 the fix is 3.7.23: builds 3.7 – 4.8.2 · 13 branches are affected, anything from 3.7.23 onward is not.
Remediation
Update to one of the following versions, or a newer patched version: 3.7.23, 3.8.23, 3.9.21, 4.0.20, 4.1.20, 4.2.17, 4.3.13, 4.4.12, 4.5.11, 4.6.8, 4.7.7, 4.8.3
How does WordSec protect against this?
The attempt arrives as an ordinary request to WordPress 4.8: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: updating to 3.7.23 is the step that ends it.
- Firewall
- Alerts
External References
Related records
Same weakness class
Other vulnerabilities in WordPress 4.8
- 9.8CVE-2026-63030: WordPress Core 6.9 - 7.0.1 Remote Code Execution
CVE-2026-63030 - 9.8CVE-2024-31211: WordPress Core 6.4.0 - 6.4.1 RCE POP Chain
CVE-2024-31211 - 9.8CVE-2021-29476: WordPress Core < 5.5.3 PHP Object Injection Gadget
CVE-2021-29476 - 9.8CVE-2007-6013: WordPress Core 1.5 - 2.3.1 Authorization Bypass
CVE-2007-6013 - 9.8CVE-2007-1277: WordPress Core 2.2.1 Backdoor
CVE-2007-1277 - 9.8WordPress Core 2.1.1 Supply Chain Compromise
- 9.8CVE-2007-0107: WordPress Core <= 2.0.5 SQL Injection
CVE-2007-0107 - 9.8CVE-2006-4028: WordPress Core < 2.0.4 Privilege Escalation
CVE-2006-4028
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C