CVE-2026-9145: Database for Contact Form 7, WPforms, Elementor forms (WordPress plugin) · Path Traversal
Affects Database for Contact Form 7, WPforms, Elementor forms (WordPress plugin)Source CVE Database V5
Not known to be exploited · CVSS 6.5 Medium.
Data as of 12 Nov 2026, 23:25 UTC
- EPSS
- 0.4% chance of exploitation in 30 days – higher than 37% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:NExploitation evidence
Disclosed: evidence found.
CVE published 2 Jul 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 13 Nov 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| crmperksDatabase for Contact Form 7, WPforms, Elementor forms | Affected
| Fixed in– |
AI-suggested
Until a patch is available, restrict access to the affected plugin and consider disabling it if possible. Monitor vendor channels for updates and apply official fixes once released. Do not rely on the hashed directory name as a security control.
Description
The Database for Contact Form 7, WPforms, Elementor forms plugin for WordPress is vulnerable to Arbitrary File Copy via the create_entry_el() function in versions up to, and including, 1.5.1. The function reads raw_value from Elementor Pro's Form_Record object for upload-type fields and passes it directly to PHP's copy() without validating that the value corresponds to a legitimately uploaded file — when no file is present in $_FILES, raw_value reflects the attacker-controlled POST string. copy() accepts both local filesystem paths and URL sources, so the attacker can target any file readable by the PHP process or supply an attacker-controlled remote URL. Elementor Pro is a prerequisite for triggering the code path (it owns the elementor_pro/forms/new_record hook and populates the Form_Record object), but the bug itself is entirely in Contact Form Entries' handler. This could allow unauthenticated attackers to disclose arbitrary files on the affected site's server. The file is copied to a directory unknown to the attacker; the hashed directory name provides defense-in-depth but is generated from non-cryptographic sources (uniqid() + rand()) and should not be relied upon as the primary mitigation.
References
- wordfence.com/threat-intel/vulnerabilities/id/2ccadf7c-b628-43b6-a6b0-828ca31ff9cc?source=cve (opens in a new tab)
- plugins.trac.wordpress.org/browser/contact-form-entries/tags/1.5.1/contact-form-entries.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/contact-form-entries/tags/1.5.1/contact-form-entries.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/contact-form-entries/tags/1.5.1/contact-form-entries.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/contact-form-entries/tags/1.5.1/contact-form-entries.php (opens in a new tab)