WP Tools <= 5.18 - Cross-Site Request Forgery to Arbitrary File Renaming
Strategic Overview
- Status
- Patched in 5.19
- Affected Plugin
- WP Tools Debug Log, Repair, Javascript errors, Jquery errors, Increase Maximum Limits, File Permissions, Transients, Error Log
- Affected Version
<= 5.18- CVSS
- 6.5Medium
- Weakness type
- CWE-352 · Cross-Site Request Forgery (CSRF)
- CVE
CVE-2025-39544
At a glance
CVE-2025-39544 is a medium-severity Cross-Site Request Forgery (CSRF) vulnerability in the WP Tools Debug Log, Repair, Javascript errors, Jquery errors, Increase Maximum Limits, File Permissions, Transients, Error Log WordPress plugin, affecting versions <= 5.18. It carries a CVSS score of 6.5 (reachable over the network; low attack complexity; high integrity impact). Exploitation requires no authentication. The issue is fixed in version 5.19; sites on affected versions should update now. Disclosed April 2025, reported by chuck.
Vulnerability Overview
The WP Tools plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 5.18. This is due to missing or incorrect nonce validation on the deactivate_mu_plugin() function. This makes it possible for unauthenticated attackers to rename arbitrary files (which is the equivalent of arbitrary file deletion) 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. A successful exploit has high impact on integrity.
CWE-352: Cross-Site Request Forgery (CSRF)
WP Tools Debug Log, Repair, Javascript errors, Jquery errors, Increase Maximum Limits, File Permissions, Transients, Error Log <= 5.18 carries this weakness at deactivate_mu_plugin(), and reaching it 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 WP Tools Debug Log, Repair, Javascript errors, Jquery errors, Increase Maximum Limits, File Permissions, Transients, Error Log the fix is 5.19: builds <= 5.18 are affected, anything from 5.19 onward is not.
Remediation
Update to version 5.19, or a newer patched version
How does WordSec protect against this?
The attempt arrives as an ordinary request to WP Tools Debug Log, Repair, Javascript errors, Jquery errors, Increase Maximum Limits, File Permissions, Transients, Error Log: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: WP Tools Debug Log, Repair, Javascript errors, Jquery errors, Increase Maximum Limits, File Permissions, Transients, Error Log 5.19 closes this, and updating the plugin is the step that ends it.
- Firewall
- Alerts
External References
Related records
Same weakness class
Other vulnerabilities in WP Tools Debug Log, Repair, Javascript errors, Jquery errors, Increase Maximum Limits, File Permissions, Transients, Error Log
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C