Executive brief
A popular WordPress plugin used for adding file upload capabilities to contact forms is vulnerable to a security flaw that allows unauthorized file uploads. An attacker can exploit this to upload malicious scripts, such as PHP files, directly to the web server. If successful, this could lead to a complete takeover of the website, allowing the attacker to steal data, modify content, or disrupt operations.
Technical details
The vulnerability is classified as an unrestricted file upload (CWE-434) due to two primary flaws in the plugin's validation logic. First, when custom blacklist types are configured, the plugin replaces the default dangerous extension denylist instead of merging with it, potentially leaving dangerous extensions like .php allowed. Second, the wpcf7_antiscript_file_name() sanitization function can be bypassed by using filenames containing non-ASCII characters. These flaws allow unauthenticated attackers to upload arbitrary PHP files via the network. While a partial patch was released in version 1.3.9.7, a bypass was subsequently discovered, necessitating further updates.
Affected products
- CodePeople Drag and Drop Multiple File Upload for Contact Form 7 up to, and including, 1.3.9.7
Timeline
- 2026-04-17: disclosed
- 2026-04-17: advisory
- 2026-05-26: other: Advisory updated to include patch bypass information and version 1.3.9.7.
References
- https://plugins.trac.wordpress.org/browser/drag-and-drop-multiple-file-upload-contact-form-7/tags/1.3.9.6/inc/dnd-upload-cf7.php
- https://plugins.trac.wordpress.org/browser/drag-and-drop-multiple-file-upload-contact-form-7/tags/1.3.9.6/inc/dnd-upload-cf7.php
- https://plugins.trac.wordpress.org/browser/drag-and-drop-multiple-file-upload-contact-form-7/tags/1.3.9.6/inc/dnd-upload-cf7.php
- https://plugins.trac.wordpress.org/browser/drag-and-drop-multiple-file-upload-contact-form-7/tags/1.3.9.6/inc/dnd-upload-cf7.php
- https://plugins.trac.wordpress.org/changeset/3508522/drag-and-drop-multiple-file-upload-contact-form-7
- https://plugins.trac.wordpress.org/changeset/3548901/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/38f95d40-a6d4-429c-9872-9d2531e942eb?source=cve