Drag and Drop File Upload for Contact Form 7 <= 1.1.3 - Unauthenticated Arbitrary File Upload via sanitize_file_name Bypass
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 1 proof of concept on GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
The Drag and Drop File Upload for Contact Form 7 plugin for WordPress is vulnerable to arbitrary file upload in versions up to, and including, 1.1.3. This is due to the plugin extracting the file extension before sanitization occurs and allowing the file type parameter to be controlled by the attacker rather than being restricted to administrator-configured values, which when combined with the fact that validation occurs on the unsanitized extension while the file is saved with a sanitized extension, allows special characters like '$' to be stripped during the save process. This makes it possible for unauthenticated attackers to upload arbitrary PHP files and potentially achieve remote code execution, however, an .htaccess file and name randomization is in place which restricts real-world exploitability.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- addonsorg Drag and Drop File Upload for Contact Form 7
through 1.1.3
References 11
plugins.trac.wordpress.org
- browser/drag-and-drop-file-upload-for-contact-form-7/trunk/backend/index.php#L181
- browser/drag-and-drop-file-upload-for-contact-form-7/tags/1.1.2/backend/index.php#L181
- browser/drag-and-drop-file-upload-for-contact-form-7/trunk/backend/index.php#L158
- browser/drag-and-drop-file-upload-for-contact-form-7/tags/1.1.2/backend/index.php#L158
- browser/drag-and-drop-file-upload-for-contact-form-7/trunk/backend/index.php#L147
- browser/drag-and-drop-file-upload-for-contact-form-7/tags/1.1.2/backend/index.php#L147
- browser/drag-and-drop-file-upload-for-contact-form-7/trunk/frontend/index.php#L15
- browser/drag-and-drop-file-upload-for-contact-form-7/tags/1.1.2/frontend/index.php#L15
- changeset?sfp_email=&sfph_mail=&reponame=&old=3498020%40drag-and-drop-file-upload-for-contact-form-7&new=3498020%40drag-and-drop-file-upload-for-contact-form-7&sfp_email=&sfph_mail=