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

CVE-2024-0768

CVE-2024-0768 Cross-Site Request Forgery in Envato
📅 PUBLISHED: 2024-02-28 08:33 UTC 🔄 UPDATED: 2026-08-12 14:51 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.22%
👁️
0.22% probability
5.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204
👁️
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 4.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: N Confidentiality None
I: L Integrity Low
A: N Availability None
4.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-0768 is a Cross-Site Request Forgery (CSRF) vulnerability affecting the Envo's Elementor Templates & Widgets for WooCommerce WordPress plugin, versions up to and including 1.4.4. The vulnerability resides in the ajax_theme_activation function, which lacks proper nonce validation. This allows an unauthenticated attacker to forge a request that, when triggered by a logged-in site administrator (e.g., via a malicious link), can activate arbitrary installed themes on the WordPress site. The CVSS v3.1 base score is 4.3 (Medium), with a vector of CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N. The EPSS score is 0.0%, indicating low exploitation likelihood in the wild, but the risk is elevated due to the lack of a confirmed patch. This vulnerability is specific to the WordPress ecosystem and does not affect Apache or Nginx directly.

⚡ 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

WordPress Ecosystem Context

This vulnerability is a classic CSRF issue within a WordPress plugin. The plugin extends WooCommerce with Elementor templates and widgets. The ajax_theme_activation function is intended to allow administrators to activate themes via AJAX, but the missing nonce check means any forged request can be processed. An attacker can craft a link that, when clicked by an admin, activates a malicious or vulnerable theme, potentially leading to further compromise.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – The attack is carried out over the network.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): None (N) – The attacker does not need authentication.
  • User Interaction (UI): Required (R) – The victim (admin) must click a link or perform an action.
  • Scope (S): Unchanged (U) – The vulnerable component and the impacted component are the same.
  • Confidentiality (C): None (N) – No data exposure.
  • Integrity (I): Low (L) – The attacker can activate a theme, altering the site’s appearance or functionality.
  • Availability (A): None (N) – No denial of service.

Threat Level: Medium. While the direct impact is limited to theme activation, this can be a stepping stone for privilege escalation or persistent backdoor installation if the activated theme contains malicious code.

Deep Dive & Mechanics

The vulnerability is in the ajax_theme_activation function within the plugin’s AJAX handler. WordPress AJAX actions typically require a nonce to verify the request’s origin. In this plugin, the function does not call check_ajax_referer() or wp_verify_nonce(), allowing any request to be processed. The function likely uses switch_theme() to activate a theme passed via a POST parameter.

Attack Flow:

  1. Attacker identifies a target WordPress site running the vulnerable plugin.
  2. Attacker crafts a malicious link or HTML form that sends a POST request to wp-admin/admin-ajax.php with action=ajax_theme_activation and a theme parameter (e.g., theme=malicious-theme).
  3. Attacker tricks a logged-in administrator into clicking the link (e.g., via phishing email or social engineering).
  4. The admin’s browser sends the forged request, and the plugin activates the specified theme without nonce validation.
  5. The activated theme could be a previously installed vulnerable theme or a theme uploaded by the attacker (if they have upload access).

Vulnerable vs. Patched Code

Vulnerable Code (<= 1.4.4):

add_action('wp_ajax_ajax_theme_activation', 'ajax_theme_activation');
function ajax_theme_activation() {
    // No nonce check
    $theme = $_POST['theme'];
    switch_theme($theme);
    wp_die();
}

Patched Code (Hypothetical):

add_action('wp_ajax_ajax_theme_activation', 'ajax_theme_activation');
function ajax_theme_activation() {
    // Added nonce verification
    check_ajax_referer('theme_activation_nonce', 'nonce');
    if (!current_user_can('switch_themes')) {
        wp_die('Unauthorized');
    }
    $theme = sanitize_text_field($_POST['theme']);
    switch_theme($theme);
    wp_die();
}

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A WordPress site with the vulnerable plugin installed and activated.
  • A logged-in administrator session (simulated via browser).
  • A theme installed on the target (e.g., a default WordPress theme like twentytwentyfour).

Exploit Steps:

  1. Craft a malicious HTML page that auto-submits a form:
<html>
<body>
<form action="http://target-site.com/wp-admin/admin-ajax.php" method="POST" id="csrf-form">
    <input type="hidden" name="action" value="ajax_theme_activation">
    <input type="hidden" name="theme" value="twentytwentyfour">
</form>
<script>document.getElementById('csrf-form').submit();</script>
</body>
</html>
  1. Host the HTML file on an attacker-controlled server.
  2. Send a phishing email to the admin with a link to the hosted HTML file.
  3. When the admin clicks the link, the form auto-submits, activating the specified theme.

Expected Outcome: The site’s theme changes to the one specified in the theme parameter.

Blue Team (Defense & Detection)

Detection Steps:

  • Monitor wp-admin/admin-ajax.php requests for the ajax_theme_activation action without a valid nonce.
  • Look for sudden theme changes in WordPress logs or via monitoring tools.
  • Use Web Application Firewall (WAF) rules to block requests to admin-ajax.php with suspicious parameters from untrusted referrers.

Honeypot: Deploy a fake admin user with low privileges and monitor for CSRF attempts.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /wp-admin/admin-ajax.php with action=ajax_theme_activation and a theme parameter.
    • Referrer headers from external domains (phishing pages).
  • File IOCs:
    • Unexpected theme activation logs in /wp-content/debug.log (if enabled).
    • Presence of a new theme in /wp-content/themes/ that was not installed by an admin.
  • Behavioral IOCs:
    • Sudden change in site appearance or functionality.
    • Admin user performing actions without corresponding nonce validation.

Detection Engineering

YARA Rule

rule CVE_2024_0768_CSRF_Theme_Activation {
    meta:
        description = "Detects CSRF exploitation attempts for CVE-2024-0768 in WordPress"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-0768"
    strings:
        $ajax_action = "ajax_theme_activation"
        $theme_param = "theme="
        $admin_ajax = "admin-ajax.php"
    condition:
        all of them
}

Sigma Rule

title: CVE-2024-0768 WordPress CSRF Theme Activation
id: 8a3f7c2e-5d1b-4a9f-8c6e-3b2a1d0f9e7c
status: experimental
description: Detects POST requests to admin-ajax.php with ajax_theme_activation action
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: POST
        cs-uri-query|contains: 
            - "admin-ajax.php"
            - "action=ajax_theme_activation"
    condition: selection
falsepositives:
    - Legitimate admin actions (if nonce is present, but this rule does not check nonce)
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-0768 WordPress CSRF Theme Activation Attempt"; flow:to_server,established; content:"POST"; http_method; content:"admin-ajax.php"; http_uri; content:"action=ajax_theme_activation"; http_client_body; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin if not essential, or restrict access to admin-ajax.php via .htaccess or WAF rules.
  2. Update the plugin to a patched version if available (check vendor’s site for updates).
  3. Implement CSRF tokens manually by adding a nonce check to the vulnerable function (if you have code access).

Long-term Mitigations:

  • Enforce strong nonce validation for all AJAX actions in WordPress plugins.
  • Use a Web Application Firewall (WAF) to block requests to admin-ajax.php without a valid referrer.
  • Educate administrators about phishing attacks and the risks of clicking unknown links.
  • Regularly audit installed themes and plugins for vulnerabilities.

Patch Status: UNKNOWN – No official patch has been confirmed. Users should monitor the Envato marketplace for updates.


Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-0768/ · 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.