Fluent Forms <= 6.2.1 - Authenticated (Administrator+) Arbitrary File Read via Path Traversal in Email Attachment
- 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? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
The Fluent Forms plugin for WordPress is vulnerable to Arbitrary File Read in versions up to and including 6.2.1. This is due to insufficient path validation in the getAttachments() method of EmailNotificationActions, which resolves attacker-supplied file-upload URLs into filesystem paths without verifying that the resolved path stays inside the WordPress uploads directory: a strpos() prefix check on the raw URL can be bypassed with traversal sequences, wp_normalize_path() does not resolve ".\..\" segments, and file_exists() then resolves them at the kernel level. This makes it possible for authenticated attackers with administrator access to read arbitrary files readable by the web-server user — including wp-config.php with its database credentials and authentication salts — by submitting a form whose admin notification is configured to attach a file-upload field and supplying a crafted URL of the shape <upload_baseurl>/../../<target> as the file-field value. The resolved file is attached to the outbound admin-notification email via wp_mail(). While the email can be triggered by unauthenticated users, the email recipient is not user-controlled.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- techjewel Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder
through 6.2.1
References 10
plugins.trac.wordpress.org
- browser/fluentform/trunk/app/Services/FormBuilder/Notifications/EmailNotificationActions.php#L121
- browser/fluentform/trunk/app/Services/FormBuilder/Notifications/EmailNotificationActions.php#L130
- browser/fluentform/trunk/app/Services/FormBuilder/Notifications/EmailNotificationActions.php#L133
- browser/fluentform/trunk/app/Services/FormBuilder/Notifications/EmailNotificationActions.php#L135
- browser/fluentform/trunk/app/Services/FormBuilder/Notifications/EmailNotificationActions.php#L137
- browser/fluentform/trunk/app/Services/FormBuilder/Notifications/EmailNotificationActions.php#L151
- browser/fluentform/trunk/app/Hooks/Ajax.php#L17
- browser/fluentform/trunk/app/Modules/SubmissionHandler/SubmissionHandler.php#L17
- changeset/3513845/fluentform/trunk/app/Services/FormBuilder/Notifications/EmailNotificationActions.php