{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-120560","assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","state":"PUBLISHED","assignerShortName":"Wordfence","dateReserved":"2026-11-02T16:34:01.054Z","datePublished":"2026-11-07T03:28:05.878Z","dateUpdated":"2026-11-07T03:28:05.878Z"},"containers":{"cna":{"providerMetadata":{"orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","shortName":"Wordfence","dateUpdated":"2026-11-07T03:28:05.878Z"},"affected":[{"vendor":"realmag777","product":"Active Woot Products Tables for WooCommerce. 100% FREE","versions":[{"version":"0","status":"affected","lessThanOrEqual":"2.1.5","versionType":"semver"}],"defaultStatus":"unaffected"}],"descriptions":[{"lang":"en","value":"The Active Woot Products Tables for WooCommerce. 100% FREE plugin for WordPress is vulnerable to Media Library File Deletion in all versions up to, and including, 2.1.5 This is due to the `get_table_data()` AJAX handler — registered for unauthenticated access via `wp_ajax_nopriv_woot_get_table_data` — performing no nonce verification and no capability check before passing the attacker-supplied `wp_columns_actions` parameter directly to `apply_filters()` alongside an attacker-controlled integer derived from the `table_id` parameter. This makes it possible for unauthenticated attackers to delete any WordPress media library attachment and its underlying file in the uploads directory by supplying a known or guessed numeric attachment ID, enabling complete erasure of a site's media library. Exploitation is achievable because WordPress core registers `wp_delete_attachment()` as a callback on hooks such as `upgrader_scheduled_cleanup` and `importer_scheduled_cleanup`, which `sanitize_key()` does not strip; notably, only attachment posts reachable by numeric ID are affected, and files outside `wp-content/uploads` — such as `wp-config.php` or plugin PHP files — cannot be targeted through this path."}],"title":"Active Woot Products Tables for WooCommerce. 100% FREE <= 2.1.5 - Unauthenticated File Deletion via 'wp_columns_actions' and 'table_id' Parameters","references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/a4962c61-9059-4fb9-9ddf-5e6aa1d2675a?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/profit-products-tables-for-woocommerce/trunk/index.php#L1206"},{"url":"https://plugins.trac.wordpress.org/browser/profit-products-tables-for-woocommerce/trunk/index.php#L1094"},{"url":"https://plugins.trac.wordpress.org/browser/profit-products-tables-for-woocommerce/trunk/index.php#L1090"},{"url":"https://plugins.trac.wordpress.org/browser/profit-products-tables-for-woocommerce/trunk/index.php#L91"},{"url":"https://plugins.svn.wordpress.org/profit-products-tables-for-woocommerce/trunk/index.php"},{"url":"https://plugins.trac.wordpress.org/changeset/3784667/profit-products-tables-for-woocommerce/trunk/index.php"}],"problemTypes":[{"descriptions":[{"lang":"en","description":"CWE-22 Improper Limitation of a Pathname to a Restricted Directory","cweId":"CWE-22","type":"CWE"}]}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L","baseScore":6.5,"baseSeverity":"MEDIUM"}}],"credits":[{"lang":"en","type":"finder","value":"Kuba"}],"timeline":[{"time":"2026-10-29T18:03:57.000Z","lang":"en","value":"Vendor Notified"},{"time":"2026-11-06T15:16:25.000Z","lang":"en","value":"Disclosed"}]}}}