CVE-2026-6070: WP-BusinessDirectory – Business directory plugin for WordPress · External Control of File Name or Path
Affects WP-BusinessDirectory – Business directory plugin for WordPressSource CVE Database V5
Not known to be exploited · CVSS 9.1 Critical.
Data as of 12 Nov 2026, 23:24 UTC
- EPSS
- 0.7% chance of exploitation in 30 days – higher than 55% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 1 Jul 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 13 Nov 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| cmsjunkieWP-BusinessDirectory – Business directory plugin for WordPress | Affected
| Fixed in– |
AI-suggested
Until an official fix is available, restrict access to the vulnerable endpoint if possible, and monitor for suspicious requests targeting task=upload.remove. Avoid using the affected plugin version (<=4.0.1) in production environments. Follow vendor updates for an official patch or temporary workaround.
Description
The WP-BusinessDirectory plugin for WordPress is vulnerable to Unauthenticated Arbitrary File Deletion in versions up to and including 4.0.1. This is due to insufficient path validation in the remove() method of the JBusinessDirectoryControllerUpload class. The task=upload.remove endpoint is accessible without authentication via the plugin's frontend routing system. The _filename parameter is accepted with RAW filter (no sanitization), and the helper function makePathFile() only normalizes directory separator characters without stripping path traversal sequences (../). When combined with the _path_type=2 parameter, which sets the base directory to the plugin's site folder, an attacker can supply a _filename value containing ../ sequences to traverse outside the plugin directory and call PHP's unlink() on arbitrary files — including wp-config.php, wp-config-backup.php, or other critical server files accessible to the web server process. This makes it possible for unauthenticated attackers to delete arbitrary files on the server.
References
- wordfence.com/threat-intel/vulnerabilities/id/d7d68f43-2a57-4352-8aae-0657b386ac7c?source=cve (opens in a new tab)
- plugins.trac.wordpress.org/browser/wp-businessdirectory/trunk/site/controllers/upload.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/wp-businessdirectory/tags/4.0.0/site/controllers/upload.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/wp-businessdirectory/trunk/site/controllers/upload.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/wp-businessdirectory/tags/4.0.0/site/controllers/upload.php (opens in a new tab)