| Plugin Name | Element Pack Elementor Addons |
|---|---|
| Type of Vulnerability | Cross Site Scripting (XSS) |
| CVE Number | CVE-2026-4655 |
| Urgency | Low |
| CVE Publish Date | 2026-04-08 |
| Source URL | CVE-2026-4655 |
Authenticated Contributor Stored XSS in Element Pack Addons for Elementor (CVE-2026-4655): What WordPress Site Owners Need to Know — Mitigation & WAF Guidance
Date: 2026-04-09 | Author: Hong Kong Security Expert
Tags: WordPress, security, WAF, vulnerability, XSS, Elementor, plugin
TL;DR
A stored Cross‑Site Scripting (XSS) vulnerability (CVE‑2026‑4655) affects Element Pack Addons for Elementor (versions ≤ 8.4.2). An authenticated user with Contributor privileges can upload a crafted SVG via the plugin’s SVG image widget, leading to stored XSS. The vendor patched the issue in version 8.5.0. Impact is rated medium (CVSS 6.5). Exploitation requires the vulnerable plugin and an authenticated Contributor account (or a site configuration that allows Contributors to upload media).
Immediate priorities:
- Update Element Pack Addons for Elementor to 8.5.0 or later as soon as possible.
- If you cannot update immediately: block the vector with a WAF, disable SVG uploads, restrict upload permissions, and audit/remove suspicious SVGs from the media library.
- Use virtual patching / targeted WAF rules to stop exploit attempts while you patch.
Background — the vulnerability in plain language
Element Pack Addons for Elementor had an SVG sanitization/handling flaw in versions up to 8.4.2. Authenticated users with Contributor privileges (or higher) could upload SVG files containing scripting constructs (inline JavaScript, event handlers, dangerous entities). The plugin’s SVG image widget stored or rendered the unsafe SVG in a way that allowed that script to execute later — a stored XSS.
Stored XSS is particularly dangerous because the malicious payload is persisted (media library, postmeta, database) and can execute when another user or any visitor loads the affected page. The attacker needs either a higher‑privileged user to view/interact with the content or a regular visitor to load the page where the SVG is rendered. The vendor fixed the bug in 8.5.0; CVE‑2026‑4655 notes the requirement for an authenticated contributor (or similar) account to upload media.
Why this matters for WordPress sites
- SVGs are XML and can contain scriptable content; unlike PNG/JPG, they can include JavaScript or event handlers that execute when rendered inline.
- Elementor and addon ecosystems expand site functionality but also increase attack surface.
- Contributor accounts are commonly available for content contributors; if those accounts can upload media, they can be used to weaponize SVG uploads.
- Stored XSS consequences include admin session theft, privilege escalation, content injection, defacement, redirects, SEO spam and backdoors.
Even low‑traffic sites can be discovered and exploited by automated scanners or targeted attackers.
Attack flow (high level)
- Attacker registers or acquires a Contributor account (or compromises one).
- Attacker uploads a malicious SVG via the plugin’s SVG widget or media uploader.
- The plugin stores the SVG and later renders it inline without removing dangerous content.
- A privileged user or a visitor opens the page; the JavaScript in the SVG executes.
- The attacker’s script performs malicious actions (cookie theft, content injection, creating admin users, loading additional payloads).
Modern browser protections (SameSite, HttpOnly, CSP) may mitigate some payloads, but XSS remains a high‑risk class.
Immediate actions (first 6–24 hours)
- Update (best option)
- Install Element Pack Addons for Elementor 8.5.0 or later immediately. This is the definitive fix.
- If you cannot update immediately, apply mitigation layers
- Restrict uploads: Temporarily remove upload capability from Contributors and similar low‑privilege roles.
- Disable SVG uploads: Block SVG files at the WordPress or server level (MIME/extension blocking).
- WAF virtual patching: Deploy rules to detect and block SVG uploads that contain script‑like constructs or suspicious attributes.
- Media library audit: Search for recently uploaded SVGs by low‑privilege accounts and remove unexpected files.
- Limit editor roles: Ensure only trusted users can insert widgets that render uploaded SVG content.
- Monitor logs for signs of exploitation (suspicious uploads, POSTs to plugin endpoints, new admin users).
Update first; other mitigations are temporary but important if you cannot patch immediately.
Practical WAF and server rules (recommended)
Use WAF or server‑side checks to stop malicious SVGs before they reach the application. Adapt the patterns and testing thresholds to your environment to reduce false positives.
- Block SVG uploads that contain script or event attributes:
Match .svg filenames or Content-Type image/svg+xml and reject if the first part of the payload contains strings such as
, suspicious base64 blobs) and audit recent user activity.
Incident response (if you suspect compromise)
- Isolate & preserve: Put the site into maintenance mode or apply blocking WAF rules; preserve logs and backups for analysis.
- Rotate credentials: Reset passwords for admins, editors and contributor accounts; invalidate active sessions.
- Audit users and content: Remove unknown users; inspect posts, pages and widget options for injected scripts.
- Remove malicious artifacts: Delete malicious SVGs and any injected code. Search DB and filesystem for suspicious tags.
- Restore clean files: If available, restore from a known‑good backup and update plugins/themes before reconnecting.
- Reassess and harden: Update the vulnerable plugin, patch core, scan for backdoors and implement WAF/server rules.
- Monitor: Continue heightened monitoring for 30–90 days to detect residual activity.
If the site stores user data, follow applicable notification obligations under local regulations.
Example detection checklist (audit concept)
Run these checks with admin access or ask your developer/host to assist: