Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
AV:N and PR:N because the form endpoint is publicly reachable with no authentication; AC:H because a specific non-default form field name matching a reserved key must be present for exploitation.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The Kali Forms - Contact Form & Drag-and-Drop Builder plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 2.4.20 via the _save_data function. This is due to insufficient validation of the 'thisPermalink' field value before it overwrites a trusted callable placeholder, allowing attacker-controlled strings to reach call_user_func() in _save_data(). This makes it possible for unauthenticated attackers to execute code on the server. Exploitation requires the target form to define a field with a name matching one of the reserved placeholder keys ('thisPermalink', 'entryCounter', or 'submission_link'), as check_if_placeholders_changed() only processes POST keys present in the form's field_type_map.
AnalysisAI
Remote code execution in the Kali Forms WordPress plugin (≤2.4.20) allows unauthenticated network attackers to execute arbitrary PHP on the server by submitting a crafted POST request to a vulnerable form. The _save_data() function fails to validate the 'thisPermalink' POST field before it overwrites a trusted callable placeholder, which is then passed unsanitized to call_user_func(). Exploitation is conditional on a specific form configuration (see exploitation_conditions), reflected in the CVSS AC:H rating; no public exploit code or CISA KEV listing has been identified at time of analysis.
Technical ContextAI
The vulnerability resides in class-form-processor.php within the Kali Forms WordPress plugin (wpchill/kali-forms, CPE: cpe:2.3:a:wpchill:kali_forms_-_contact_form_&_drag-and-drop_builder:*:*:*:*:*:*:*:*). CWE-94 (Improper Control of Generation of Code) describes the root cause: the _save_data() function maintains a map of trusted callable placeholders and invokes them via PHP's call_user_func(). The check_if_placeholders_changed() gating function, which is meant to detect and reject attacker-supplied overrides of those placeholders, only inspects POST keys that are already present in the form's field_type_map. If a form administrator has named a field 'thisPermalink', 'entryCounter', or 'submission_link' - any of the three reserved keys - the attacker's POST value for that key bypasses the guard and is accepted as a valid callable, reaching call_user_func() without further sanitization. Source code evidence is publicly visible in the WordPress plugin SVN repository at the referenced line numbers in tags/2.4.19 and tags/2.4.20.
RemediationAI
Update the Kali Forms plugin to the version released after 2.4.20; a fix has been committed to the WordPress plugin repository per the changeset at https://plugins.trac.wordpress.org/changeset?reponame=&old=3623024%40kali-forms&new=3623024%40kali-forms, though the exact fixed release version number is not independently confirmed in available data - install the current latest version from the WordPress plugin directory. As an immediate compensating control while patching is pending, audit all forms in the Kali Forms admin interface and rename any field whose internal name matches 'thisPermalink', 'entryCounter', or 'submission_link' - this eliminates the specific attack surface for this CVE since check_if_placeholders_changed() will no longer find attacker POST keys in the form's field_type_map. The trade-off is minimal: these field names have no user-facing significance and renaming them does not affect form functionality. Refer to the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/9d692aff-8bb2-45bb-9caf-bc33d3ed5b10?source=cve for additional guidance.
The Kali Forms plugin for WordPress contains a critical remote code execution vulnerability that allows unauthenticated
Stored cross-site scripting in the Kali Forms WordPress plugin (before 2.4.13) allows Contributor-level users to inject
Kali Forms - Contact Form & Drag-and-Drop Builder WordPress plugin before version 2.4.17 allows any authenticated Contri
Unauthenticated file upload to the WordPress Media Library is possible in Kali Forms - Contact Form & Drag-and-Drop Buil
Stored cross-site scripting in the Kali Forms - Contact Form & Drag-and-Drop Builder plugin for WordPress (all versions
Stored Cross-Site Scripting in the Kali Forms WordPress plugin (versions up to and including 2.4.13) allows authenticate
Same weakness CWE-94 – Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-51755
GHSA-w9gv-h9qh-63cm