Strategic Overview
- Status
- Patched in 5.1.1
- Affected Plugin
- ElasticPress
- Affected Version
<= 5.1.0- CVSS
- 4.3Medium
- Weakness type
- CWE-352 · Cross-Site Request Forgery (CSRF)
- CVE
CVE-2024-35684
At a glance
CVE-2024-35684 is a medium-severity Cross-Site Request Forgery (CSRF) vulnerability in the ElasticPress WordPress plugin, affecting versions <= 5.1.0. It carries a CVSS score of 4.3 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 5.1.1; sites on affected versions should update now. Disclosed June 2024, reported by Ananda Dhakal.
Vulnerability Overview
The ElasticPress plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 5.1.0. This is due to missing or incorrect nonce validation on the do_sync function. This makes it possible for unauthenticated attackers to sync data via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.
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.
CWE-352: Cross-Site Request Forgery (CSRF)
Reaching this weakness in ElasticPress <= 5.1.0 takes a caller who can reach the endpoint. Cross-site request forgery abuses the fact that browsers attach a victim's cookies to any request, so a state-changing action that only checks who you are, not whether you meant to act, can be triggered from another site.
An attacker who gets a logged-in user to load a crafted page can perform that action as them, with the impact scaling to whatever the victim's role is allowed to do. For ElasticPress the fix is 5.1.1: builds <= 5.1.0 are affected, anything from 5.1.1 onward is not.
Remediation
Update to version 5.1.1, or a newer patched version
How does WordSec protect against this?
The attempt arrives as an ordinary request to ElasticPress: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: ElasticPress 5.1.1 closes this, and updating the plugin is the step that ends it.
- Firewall
- Alerts
External References
Related records
Same weakness class
Other vulnerabilities in ElasticPress
- 9.8CVE-2022-25912: simple-git < 3.15.0 Remote Code Execution
CVE-2022-25912 - 8.3CVE-2023-28154: webpack JS package <= 5.75.0 Sandbox Bypass
CVE-2023-28154 - 7.5Moment.js <= 2.29.1 Directory Traversal
- 5.4CVE-2022-37601: loader-utils (JS package) < 2.0.3 Prototype Pollution
CVE-2022-37601 - 3.7CVE-2022-37599: loader-utils (JS package) Regular Expression DoS
CVE-2022-37599 - 3.7CVE-2022-37603: loader-utils (JS package) Regular Expression DoS
CVE-2022-37603 - 3.7CVE-2022-25858: terser (JS Package) < 5.14.2 Denial of Service
CVE-2022-25858
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C