Vulnerability · Published Aug 11, 2026 · Assigned by Wordfence
CVE-2026-19091GeoDirectory <= 2.8.169 - Authenticated (Subscriber+) Arbitrary File Deletion via 'post_type' Parameter via Query-String Bypass in geodir_save_post + geodir_delete_revision
High 8.1
In plain English
A high-severity path traversal in GeoDirectory – WP Business Directory Plugin and Classified Listings Directory from paoltaia. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 1.1% (higher than 66% of all known vulnerabilities).
Official description
The GeoDirectory – WP Business Directory Plugin and Classified Listings Directory plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the delete_revision function in all versions up to, and including, 2.8.169. This makes it possible for authenticated attackers, with subscriber-level access and above, to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). By placing post_type=attachment exclusively in the query string to bypass the consistency check, an attacker can convert an auto-draft GeoDirectory listing into a WordPress attachment with attacker-controlled file paths injected into attachment metadata, which the delete_revision handler then dereferences and unlinks without any post-type or path validation.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| paoltaia | GeoDirectory – WP Business Directory Plugin and Classified Listings Directory | 0 – through 2.8.169 |
Weakness: CWE-22 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/e4fb4127-2b3f-4c8c-95ee-611f1bacf4c5?source=cve
- https://github.com/AyeCode/geodirectory/blob/c3969ed65f5c6135d828c47b9f9c162784d1c531/includes/class-geodir-ajax.php#L821-L825
- https://github.com/AyeCode/geodirectory/blob/c3969ed65f5c6135d828c47b9f9c162784d1c531/includes/class-geodir-post-data.php#L1321-L1326
- https://github.com/AyeCode/geodirectory/blob/c3969ed65f5c6135d828c47b9f9c162784d1c531/includes/class-geodir-post-data.php#L1502-L1550
- https://github.com/AyeCode/geodirectory/blob/c3969ed65f5c6135d828c47b9f9c162784d1c531/includes/class-geodir-post-data.php#L1658-L1737
- https://github.com/AyeCode/geodirectory/pull/3070/changes/29e519019f76a11c74a6b948da655148335f0d18
- https://plugins.trac.wordpress.org/changeset/3638028/geodirectory