CVE-2026-120560

Active Woot Products Tables for WooCommerce. 100% FREE <= 2.1.5 - Unauthenticated File Deletion via 'wp_columns_actions' and 'table_id' Parameters

2026-11-06 15:16
Kuba

Strategic Overview

Status
Patched in 2.1.6
Affected Version
<= 2.1.5
CVSS
6.5Medium
Weakness type
CWE-22 · Improper Limitation of a Pathname to a Restricted Directory
CVE
CVE-2026-120560
View all Active Woot Products Tables for WooCommerce. 100% FREE  vulnerabilities

At a glance

CVE-2026-120560 is a medium-severity Improper Limitation of a Pathname to a Restricted Directory vulnerability in the Active Woot Products Tables for WooCommerce. 100% FREE WordPress plugin, affecting versions <= 2.1.5. It carries a CVSS score of 6.5 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 2.1.6; sites on affected versions should update now. Disclosed November 2026, reported by Kuba.

Vulnerability Overview

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.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user.

CWE-22: Improper Limitation of a Pathname to a Restricted Directory

Active Woot Products Tables for WooCommerce. 100% FREE <= 2.1.5 carries this weakness at get_table_data(), and reaching it takes no account at all. Path traversal happens when user-controlled text is used to build a filesystem path without being constrained to an intended directory, so sequences like ../ walk the resolved path somewhere else.

Depending on the operation, it means reading files outside the intended folder — wp-config.php being the usual target — or writing to and deleting paths the web server can touch. For Active Woot Products Tables for WooCommerce. 100% FREE the fix is 2.1.6: builds <= 2.1.5 are affected, anything from 2.1.6 onward is not.

Remediation

Update to version 2.1.6, or a newer patched version

How does WordSec protect against this?

Requests carrying this pattern arrive without a session, so nothing upstream of the firewall gets a chance to reject them: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: Active Woot Products Tables for WooCommerce. 100% FREE 2.1.6 closes this, and updating the plugin is the step that ends it.

  • Firewall
  • Login Security
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C