CVE-2025-1005

6.4 MEDIUM

📋 TL;DR

This stored XSS vulnerability in the ElementsKit Elementor addons plugin allows authenticated WordPress users with contributor-level access or higher to inject malicious scripts into pages using the Image Accordion widget. When other users visit the compromised pages, the scripts execute in their browsers, potentially stealing session cookies or performing unauthorized actions. All WordPress sites using ElementsKit up to version 3.4.0 are affected.

💻 Affected Systems

Products:
  • ElementsKit Elementor addons plugin for WordPress
Versions: All versions up to and including 3.4.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress with ElementsKit plugin installed. Contributor-level access or higher needed for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator session cookies, take over the WordPress site, deface pages, redirect visitors to malicious sites, or install backdoors for persistent access.

🟠

Likely Case

Malicious contributors or compromised accounts inject scripts that steal user session data, display unwanted content, or redirect users to phishing pages.

🟢

If Mitigated

With proper user access controls and content security policies, impact is limited to defacement or minor data leakage from users visiting compromised pages.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is straightforward once an attacker has contributor privileges.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.4.1 or later

Vendor Advisory: https://wordpress.org/plugins/elementskit-lite/#developers

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find ElementsKit and click 'Update Now'. 4. Verify version is 3.4.1 or higher.

🔧 Temporary Workarounds

Disable Image Accordion Widget

all

Temporarily disable the vulnerable widget until patching is possible

Implement Content Security Policy

all

Add CSP headers to restrict script execution sources

Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Or add to wp-config.php: header("Content-Security-Policy: default-src 'self'; script-src 'self'");

🧯 If You Can't Patch

  • Restrict user roles: Remove contributor access or implement least privilege principles
  • Monitor for suspicious content: Regularly review pages and posts for unexpected scripts or iframes

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for ElementsKit version ≤3.4.0

Check Version:

wp plugin list --name=elementskit --field=version

Verify Fix Applied:

Confirm ElementsKit version is ≥3.4.1 in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unusual post/page edits by contributor-level users
  • Multiple rapid content modifications
  • Suspicious script tags in post_content database entries

Network Indicators:

  • Outbound connections to unknown domains from your WordPress site
  • Unexpected script loads in page responses

SIEM Query:

source="wordpress.log" AND (event="post_updated" OR event="page_updated") AND user_role="contributor" AND content CONTAINS "<script>"

🔗 References

📤 Share & Export