Summary
CVE-2026-32475 is an Unrestricted Upload of File with Dangerous Type vulnerability (CWE-434) affecting the Elementor Pro plugin for WordPress. The flaw allows a remote attacker to upload malicious files to a vulnerable site, which can lead to remote code execution. It carries a Critical CVSS v3.1 base score of 9.0.
Technical details
- Root cause: Elementor Pro fails to sufficiently restrict the type of files that can be uploaded through one of its upload-handling mechanisms.
- Trigger conditions: The vulnerability can be exploited without prior authentication and without any user interaction, though the attack complexity is rated high.
- Attack vector: Network — exploitable remotely over HTTP(S) against any internet-exposed WordPress site running the vulnerable plugin version.
- Impact: Successful exploitation can compromise confidentiality, integrity, and availability of the affected system, and an uploaded malicious file (e.g., a web shell) can lead to full remote code execution on the underlying server.
Affected software
- Elementor Pro (WordPress plugin): all versions up to and including 4.2.1.
- Fixed in Elementor Pro version 4.2.2.
Severity
- CVSS v3.1 Base Score: 9.0 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate: Upgrade Elementor Pro to version 4.2.2 or later.
- If immediate patching is not possible: Restrict or monitor access to file upload endpoints exposed by the plugin, ensure a web application firewall is in place to inspect upload requests, and review the site’s file system and uploads directory for unexpected or executable files (e.g., PHP scripts) as a compromise indicator.
- Ongoing: Keep WordPress core, themes, and all plugins (including the free Elementor plugin, a prerequisite for Elementor Pro) up to date, and monitor for unusual outbound activity or new admin accounts following any suspected exploitation attempt.
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Raw response body:
<div class="elementor,<section class="elementor, a<link>href containing/elementor/assets, a<link>href containinguploads/elementor/css - URL of a loaded script: a path matching
/elementor/assets/js/*.js - JavaScript object present once the page runs:
elementorFrontend.getElements

