Vulnerability · Published Apr 22, 2026 · Assigned by Wordfence
CVE-2026-4119Create DB Tables <= 1.2.1 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Database Table Creation/Deletion via admin-post.php
Critical 9.1
In plain English
A critical-severity missing authorization in Create DB Tables from jppreus. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.7% (higher than 54% of all known vulnerabilities).
Official description
The Create DB Tables plugin for WordPress is vulnerable to authorization bypass in all versions up to and including 1.2.1. The plugin registers admin_post action hooks for creating tables (admin_post_add_table) and deleting tables (admin_post_delete_db_table) without implementing any capability checks via current_user_can() or nonce verification via wp_verify_nonce()/check_admin_referer(). The admin_post hook only requires the user to be logged in, meaning any authenticated user including Subscribers can access these endpoints. The cdbt_delete_db_table() function takes a user-supplied table name from $_POST['db_table'] and executes a DROP TABLE SQL query, allowing any authenticated attacker to delete any database table including critical WordPress core tables such as wp_users or wp_options. The cdbt_create_new_table() function similarly allows creating arbitrary tables. This makes it possible for authenticated attackers, with Subscriber-level access and above, to create arbitrary database tables and delete any existing database table, potentially destroying the entire WordPress installation.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| jppreus | Create DB Tables | 0 – through 1.2.1 |
Weakness: CWE-862 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/d1a3bc4b-cc17-4728-b242-13841b5f7660?source=cve
- https://plugins.trac.wordpress.org/browser/create-db-tables/trunk/create-db-tables.php#L376
- https://plugins.trac.wordpress.org/browser/create-db-tables/tags/1.2.1/create-db-tables.php#L376
- https://plugins.trac.wordpress.org/browser/create-db-tables/trunk/create-new-table.php#L69
- https://plugins.trac.wordpress.org/browser/create-db-tables/tags/1.2.1/create-new-table.php#L69
- https://plugins.trac.wordpress.org/browser/create-db-tables/trunk/create-db-tables.php#L370
- https://plugins.trac.wordpress.org/browser/create-db-tables/tags/1.2.1/create-db-tables.php#L370
- https://plugins.trac.wordpress.org/browser/create-db-tables/trunk/create-new-table.php#L14
- https://plugins.trac.wordpress.org/browser/create-db-tables/tags/1.2.1/create-new-table.php#L14
- https://plugins.trac.wordpress.org/browser/create-db-tables/trunk/create-db-tables.php#L405
- https://plugins.trac.wordpress.org/browser/create-db-tables/tags/1.2.1/create-db-tables.php#L405
- https://plugins.trac.wordpress.org/browser/create-db-tables/trunk/create-db-tables.php#L408
- https://plugins.trac.wordpress.org/browser/create-db-tables/tags/1.2.1/create-db-tables.php#L408