WordPress Core 6.4.0 - 6.4.1 - Remote Code Execution POP Chain
Strategic Overview
- Status
- Patched in 6.4.2
- Affected Core
- WordPress 6.4
- Affected Version
6.4.0 – 6.4.1 · 2 branches- CVSS
- 9.8Critical
- Weakness type
- CWE-502 · Deserialization of Untrusted Data
- CVE
CVE-2024-31211
At a glance
CVE-2024-31211 is a critical-severity Deserialization of Untrusted Data vulnerability in the WordPress 6.4 WordPress release line, affecting 6.4.0 – 6.4.1 · 2 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 6.4.2; sites on affected versions should update now. Disclosed December 2023.
Vulnerability Overview
WordPress Core is vulnerable to remote code execution via a PHP gadget in version 6.4.0 and 6.4.1. This is due to there being a magic method __destruct in the WP_HTML_Token class. This makes it possible for attackers to achieve remote code execution when another deserialization/PHP Object Injection vulnerability is present on the site.
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-502: Deserialization of Untrusted Data
Reaching this weakness in WordPress 6.4 6.4.0 – 6.4.1 · 2 branches takes a caller who can reach the endpoint. Deserialization of untrusted data means the application reconstructs objects from input a caller controls, letting the attacker choose which classes get instantiated and what their properties hold.
A workable chain turns deserialization into file writes, deletions or code execution, depending on what the loaded classes do in their magic methods. For WordPress 6.4 the fix is 6.4.2: builds 6.4.0 – 6.4.1 · 2 branches are affected, anything from 6.4.2 onward is not.
Remediation
Update to version 6.4.2, or a newer patched version
How does WordSec protect against this?
The attempt arrives as an ordinary request to WordPress 6.4: WordSec's web application firewall inspects request payloads before WordPress loads them. Classes like this one can leave something behind, so the staged malware scanner is the second half: it looks for dropped files and modified code rather than for the request that created them. None of that substitutes for the fix: updating to 6.4.2 is the step that ends it.
- Firewall
- Scanner
- Alerts
External References
Related records
Same weakness class
- 9.8CVE-2021-29476: WordPress Core < 5.5.3 PHP Object Injection Gadget
CVE-2021-29476 - 8.8CVE-2020-28032: WordPress Core < 5.5.2 Deserialization Gadget
CVE-2020-28032 - 8.8CVE-2018-20148: WordPress Core < 5.0.1 PHP Object Injection
CVE-2018-20148 - 8.8CVE-2017-1000600: WordPress Core < 4.9 Insecure Deserialization
CVE-2017-1000600
Other vulnerabilities in WordPress 6.4
- 9.8CVE-2026-63030: WordPress Core 6.9 - 7.0.1 Remote Code Execution
CVE-2026-63030 - 9.8WordPress Core < 6.0.3 SQL Injection via WP_Date_Query
- 9.8CVE-2017-16510: WordPress Core SQL Injection
CVE-2017-16510 - 9.8CVE-2017-14723: WordPress Core < 4.8.2 SQL Injection
CVE-2017-14723 - 9.8CVE-2007-6013: WordPress Core 1.5 - 2.3.1 Authorization Bypass
CVE-2007-6013 - 9.8CVE-2007-6318: WordPress Core < 2.3.2 SQL Injection
CVE-2007-6318 - 9.8CVE-2007-4894: WordPress Core & WordPress MU < 1.2.5a - SQL Injection
CVE-2007-4894 - 9.8CVE-2007-1277: WordPress Core 2.2.1 Backdoor
CVE-2007-1277
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C