CVE-2026-18351 is an arbitrary file-upload vulnerability affecting Drag and Drop File Upload for Elementor Forms for WordPress through version 1.6.0. The plugin's elementor_file_upload function inadequately validates uploaded file types. Its is_file_type_valid() logic uses the attacker-controlled type parameter as regular-expression keys for the MIME allowlist, enabling file-type blacklist bypass with a crafted extension. Subsequent filename normalization can convert the crafted extension into a PHP extension, allowing an unauthenticated attacker to upload a potentially executable server-side file.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
2 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos.
This three-file repository contains one standalone Python 3 mass-exploitation tool, a README, and an MIT license. CVE-2026-18351.py uses only the Python standard library and accepts either one URL or a line-separated target list, processes targets concurrently with ThreadPoolExecutor, tracks scan statistics, and can write complete, vulnerable-only, and confirmed-RCE-only logs. It first performs a passive nonce discovery scan against the site root, a WordPress post-style URL, and a deliberately nonexistent URL. On a discovered nonce, exploit mode submits a multipart request to WordPress admin-ajax.php using the elementor_file_upload action. The request carries a ZIP/PHP polyglot-style command shell and filter-evasion values (shell.php?, php[?]). The README documents passive-check and exploit modes, while the code provides the operational upload and command-execution capability. The documented commands refer to mass.py, but the supplied executable is named CVE-2026-18351.py; users would need to invoke or rename the actual file accordingly. No fixed victim host, IP address, or external command-and-control endpoint is embedded; target base URLs and output file paths are user supplied.
The repository contains a single Python 3 exploit script and a short README. `CVE-2026-18351.py` is a concurrent mass-targeting exploit that reads a user-supplied target list, normalizes and deduplicates targets, and processes them with up to 120 worker threads. For each target, it requests up to three public paths to extract an `elementor_file_upload` nonce, then posts a crafted multipart request to WordPress `admin-ajax.php`. The request uses the vulnerable AJAX action, a filename of `yoru.php?`, and `type=php[?]` to attempt PHP-upload validation bypass. On a successful JSON response, it reconstructs the returned upload path, requests the shell to confirm its marker, and logs confirmed URLs in `shells.txt`. This is an operational exploit rather than a detection-only script because it deploys a functional, hard-coded PHP web shell. The README only identifies the claimed CVE and vulnerability class; no external exploit framework is used.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
6 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.