Skip to main content
VulnerabilityPublished

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

0
Compare

Not known to be exploited · CVSS 6.5 Medium.

Data as of 12 Nov 2026, 23:25 UTC

CVSS 3.1 base score
6.5Medium
How severe the flaw is on the 0–10 CVSS scale.
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:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 2 Jul 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq 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

ProductAffectedFixed in
crmperksDatabase for Contact Form 7, WPforms, Elementor formsAffected
  • <=1.5.1
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

Community reviews

Loading reviews…