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.
Problem types
Product status
Any version
Timeline
| 2026-04-21: | Disclosed |
Credits
Youcef Hamdani
References
www.wordfence.com/...-cc17-4728-b242-13841b5f7660?source=cve
plugins.trac.wordpress.org/...les/trunk/create-db-tables.php
plugins.trac.wordpress.org/...ags/1.2.1/create-db-tables.php
plugins.trac.wordpress.org/...les/trunk/create-new-table.php
plugins.trac.wordpress.org/...ags/1.2.1/create-new-table.php
plugins.trac.wordpress.org/...les/trunk/create-db-tables.php
plugins.trac.wordpress.org/...ags/1.2.1/create-db-tables.php
plugins.trac.wordpress.org/...les/trunk/create-new-table.php
plugins.trac.wordpress.org/...ags/1.2.1/create-new-table.php
plugins.trac.wordpress.org/...les/trunk/create-db-tables.php
plugins.trac.wordpress.org/...ags/1.2.1/create-db-tables.php
plugins.trac.wordpress.org/...les/trunk/create-db-tables.php
plugins.trac.wordpress.org/...ags/1.2.1/create-db-tables.php