CVE-2026-5809 json
wpForo Forum <= 3.0.2 - Authenticated (Subscriber+) Arbitrary File Deletion via 'data[body][fileurl]' Parameter
published 2026-04-11 6 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-21676
- cvss
- 7.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 43%
- public exploits
- 0
- none known
Summary
The wpForo Forum plugin for WordPress is vulnerable to Arbitrary File Deletion in versions up to and including 3.0.2. This is due to a two-step logic flaw: the topic_add() and topic_edit() action handlers accept arbitrary user-supplied data[*] arrays from $_REQUEST and store them as postmeta without restricting which fields may contain array values. Because 'body' is included in the allowed topic fields list, an attacker can supply data[body][fileurl] with an arbitrary file path (e.g., wp-config.php or an absolute server path). This poisoned fileurl is persisted to the plugin's custom postmeta database table. Subsequently, when the attacker submits wpftcf_delete[]=body on a topic_edit request, the add_file() method retrieves the stored postmeta record, extracts the attacker-controlled fileurl, passes it through wpforo_fix_upload_dir() which only rewrites legitimate wpforo upload paths and returns all other paths unchanged, and then calls wp_delete_file() on the unvalidated path. This makes it possible for authenticated attackers, with subscriber-level access and above, to delete arbitrary files writable by the PHP process on the server, including critical files such as wp-config.
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
0.51% chance of exploitation in the next 30 days, higher than 43% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H |
Affected products
- tomdever wpForo Forum
Classification
- Weakness
-
- CWE-73 External Control of File Name or Path
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/0e46ac8d-89ee-4480-bb96-83f2044a4323?source=cve
- plugins.trac.wordpress.org /changeset/3503313/wpforo
- plugins.trac.wordpress.org /browser/wpforo/tags/3.0.2/classes/Actions.php#L746
- plugins.trac.wordpress.org /browser/wpforo/tags/3.0.2/classes/Actions.php#L761
- plugins.trac.wordpress.org /browser/wpforo/tags/3.0.2/classes/Posts.php#L1961
- plugins.trac.wordpress.org /browser/wpforo/tags/3.0.2/classes/PostMeta.php#L523
- plugins.trac.wordpress.org /browser/wpforo/tags/3.0.2/classes/PostMeta.php#L421
- plugins.trac.wordpress.org /browser/wpforo/tags/3.0.2/classes/PostMeta.php#L402
- plugins.trac.wordpress.org /browser/wpforo/tags/3.0.2/includes/functions.php#L2641
Sources
- CVE List CVE-2026-5809
- NVD CVE-2026-5809
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.