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

CVE-2024-9385

CVE-2024-9385 Cross-Site Scripting in Themify
📅 PUBLISHED: 2024-10-05 01:59 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: 2.57%
👁️
2.57% probability
64.1× above the median CVE
Tier: HIGH
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204.001
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
License: Commercial
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 6.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
6.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-9385 is a Reflected Cross-Site Scripting (XSS) vulnerability in the Themify Builder plugin for WordPress, affecting all versions up to and including 7.6.2. The flaw arises from the insecure use of add_query_arg without proper escaping on URLs, allowing unauthenticated attackers to inject arbitrary web scripts. Successful exploitation requires user interaction (e.g., clicking a crafted link), leading to script execution in the victim's browser within the context of the WordPress site. This can result in session hijacking, credential theft, or defacement. As a WordPress plugin vulnerability, it is critical to update the plugin or apply a virtual patch.

⚡ 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. No supply chain compromise has been reported, but users should verify plugin integrity and update from trusted sources only.

CVSS Breakdown & Threat Level

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

Threat Level: Medium. Exploitation is straightforward but requires user interaction. The impact is limited to script execution in the user's session.

Deep Dive & Mechanics

The vulnerability exists in the add_query_arg function usage within the Themify Builder plugin. In PHP, add_query_arg builds a URL by appending query parameters. When user-supplied input (e.g., via $_SERVER['REQUEST_URI'] or $_GET parameters) is passed to add_query_arg without escaping, an attacker can inject malicious JavaScript code into the generated URL. This URL is then reflected back to the user (e.g., in a redirect or link), leading to XSS.

The vulnerable code likely resembles:

$url = add_query_arg( 'return', $_GET['return'], home_url() );
echo '<a href="' . $url . '">Click here</a>';

An attacker can craft a URL like:

https://victim.com/?return=javascript:alert(document.cookie)

When the victim clicks the link, the JavaScript executes.

Vulnerable vs. Patched Code

Vulnerable Code (<= 7.6.2):

$url = add_query_arg( 'return', $_GET['return'], home_url() );
echo '<a href="' . $url . '">Go Back</a>';

Patched Code (Hypothetical):

$return_url = esc_url( add_query_arg( 'return', esc_url_raw( $_GET['return'] ), home_url() ) );
echo '<a href="' . $return_url . '">Go Back</a>';

The patch uses esc_url() and esc_url_raw() to sanitize the URL and prevent script injection.

Exploitation & Lab Setup

Red Team (Exploitation)

  1. Setup: Install WordPress with Themify Builder <= 7.6.2 on a local server.
  2. Craft Payload: Create a malicious URL:
    http://localhost/wp-admin/?return=javascript:alert('XSS')
    
  3. Deliver: Send the link to a victim (e.g., via email or social engineering).
  4. Execute: When the victim clicks the link, the JavaScript executes in their browser.

Example Exploit URL:

http://victim-site.com/?return=%22%3E%3Cscript%3Ealert(1)%3C/script%3E

Blue Team (Detection & Defense)

  • Monitor Logs: Look for unusual query parameters containing return= with JavaScript or HTML tags.
  • Web Application Firewall (WAF): Block requests with return parameter containing <script> or javascript:.
  • User Education: Train users not to click suspicious links.

Indicators of Compromise (IOCs)

  • URL Patterns: Requests containing ?return= followed by encoded JavaScript or HTML.
  • Log Entries: HTTP requests with return parameter containing <script>, onerror, javascript:, or data: URIs.
  • File Hashes: N/A (plugin files unchanged).
  • Network Traffic: Outbound connections to attacker-controlled domains (if payload exfiltrates data).

Detection Engineering

YARA Rule

rule CVE_2024_9385_Themify_XSS {
    meta:
        description = "Detects reflected XSS attempts against Themify Builder plugin"
        author = "Valters IT"
        date = "2024-10-01"
        reference = "CVE-2024-9385"
    strings:
        $xss1 = /return=.*?<script/i
        $xss2 = /return=.*?javascript:/i
        $xss3 = /return=.*?onerror/i
        $xss4 = /return=.*?alert\(/i
    condition:
        any of them
}

Sigma Rule

title: Reflected XSS Attempt Against Themify Builder
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects reflected XSS attempts targeting CVE-2024-9385
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: GET
        cs-uri-query|contains: 'return='
        cs-uri-query|re: '(?:<script|javascript:|onerror|alert\()'
    condition: selection
falsepositives:
    - Legitimate use of 'return' parameter with safe values
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-9385 Themify Builder Reflected XSS Attempt"; flow:to_server; content:"return="; http_uri; pcre:"/return=.*?(?:<script|javascript:|onerror|alert\()/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Disable the Themify Builder plugin until a patch is available.
  2. Virtual Patch: Use a WAF to block requests containing return= with suspicious patterns.
  3. Update: Apply the official patch when released (check WordPress plugin repository).
  4. Code Fix: Ensure all uses of add_query_arg are wrapped with esc_url().
  5. User Training: Educate users to avoid clicking untrusted links.

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:"Themify Builder"
http.html:"themify-builder"

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