SimpleForm <= 3.10.2 - Unauthenticated Arbitrary File Upload via Trailing-Dot Filename via Unknown File Key in simpleform_get_submit_data
- 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? →
- None on Exploit-DB, Metasploit or GitHub
Summary
The SimpleForm WordPress plugin, a form builder that connects to chat apps, is affected by a flaw that lets anonymous website visitors upload files to the server without logging in. Successful exploitation could allow an attacker to place executable files on the site, potentially leading to remote code execution.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original description
The SimpleForm – Form Maker to Chat Apps with Quiz, Poll and Multi Lead Notifications plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 3.10.2 via the handle_upload function. This is due to missing server-side file key allowlist and pre-sanitization extension derivation that allows a trailing-dot filename to bypass all extension and MIME validation in handle_upload. This makes it possible for unauthenticated attackers to upload files that may be executable, which makes remote code execution possible. The only access control is a nonce that is printed into every public form's data-nonce attribute, making it trivially obtainable by any unauthenticated visitor on a page embedding the form shortcode.
Timeline
- CVE published
- First seen by cve.now
- Posted on X by cve.now
Affected versions
- wpazleen SimpleForm – Form Maker to Chat Apps with Quiz, Poll and Multi Lead Notifications
through 3.10.2
References 9
plugins.trac.wordpress.org
- browser/simple-form/tags/3.10.2/app/FileUpload.php#L142
- browser/simple-form/tags/3.10.2/app/FileUpload.php#L118
- browser/simple-form/tags/3.10.2/app/FileUpload.php#L137
- browser/simple-form/tags/3.10.2/app/Ajax/Tables.php#L988
- browser/simple-form/tags/3.10.2/app/Ajax/Tables.php#L67
- browser/simple-form/tags/3.10.2/app/Ajax/Tables.php#L973
- changeset/3770697/simple-form/trunk/app/FileUpload.php