CVE-2026-3584: Unauthenticated Remote Code Execution in Kali Forms
CVE-2026-3584 affects the Kali Forms WordPress plugin through version 2.4.9. The vulnerability allows unauthenticated remote code execution through the form_process functionality because attacker-controlled values can reach dynamic PHP callback execution.
Introduction
CVE-2026-3584 affects the Kali Forms WordPress plugin through version 2.4.9. The vulnerability allows unauthenticated remote code execution through the form_process functionality because attacker-controlled values can reach dynamic PHP callback execution.
A public security-research repository documents the technical findings and proof-of-concept material associated with the issue. The discussion below focuses on the security impact, root cause, affected component, and defensive remediation rather than reproducing weaponized exploitation steps.
Vulnerability Overview
The vulnerable form-processing path accepts user-controlled data and maps values into internal placeholders that are later passed to call_user_func without sufficient validation. This breaks the boundary between form data and executable server-side functionality.
In simplified terms, the security problem looks like this:
Unauthenticated Request
│
▼
Kali Forms Processing
│
▼
User-controlled Callback Value
│
▼
Insufficient Validation
│
▼
Dynamic PHP Callback
│
▼
Remote Code Execution
The important security principle is that untrusted client input must never be allowed to cross an authentication, authorization, filesystem, or code-execution boundary without strict server-side validation.
Why Is This Vulnerability Serious?
Direct unauthenticated code execution is one of the most severe web-application vulnerability classes because no prior account compromise is required.
The potential impact depends on the application's configuration, the privileges of the affected process, and whether vulnerable functionality is exposed to untrusted users.
Root Cause
The root cause is unsafe use of dynamic callbacks with attacker-controlled values. Application data should never be treated as executable function names without a strict allowlist.
A secure implementation should independently verify:
- Authentication and authorization requirements
- The ownership or scope of the requested object
- Input type, format, and allowed values
- Filesystem paths and canonical destinations where applicable
- File type and content where uploads are involved
- That privileged operations cannot be selected through client-controlled parameters
- That sensitive functionality fails closed when validation fails
Affected Versions / Components
The publicly documented affected details are:
| Component | Details |
|---|---|
| Plugin | Kali Forms – WordPress Form Builder |
| Vulnerable versions | ≤ 2.4.9 |
| Vulnerability | Unauthenticated Remote Code Execution |
| CWE | CWE-94 |
| CVSS v3.1 | 9.8 Critical |
| Authentication | None |
These details are based on the public research repository and, where available, the corresponding NVD record. Administrators should verify the exact installed version and deployment configuration before determining exposure.
Public PoC
The associated repository contains research and proof-of-concept material demonstrating the vulnerability.
For defensive research, proof-of-concept code should only be used in an authorized laboratory environment or against systems for which explicit permission has been granted. Production systems should be tested using harmless validation methods whenever possible.
Security Impact
1. Remote code execution
Remote code execution can become a security concern depending on the deployment and the privileges of the affected component.
2. Website takeover
Website takeover can become a security concern depending on the deployment and the privileges of the affected component.
3. Administrator compromise
Administrator compromise can become a security concern depending on the deployment and the privileges of the affected component.
4. Data exposure
Data exposure can become a security concern depending on the deployment and the privileges of the affected component.
5. Persistence
Persistence can become a security concern depending on the deployment and the privileges of the affected component.
Detection and Mitigation
Administrators should first identify whether the affected component is installed and determine the exact version.
Recommended defensive actions include:
- Update to a fixed release when available.
- Disable or remove the plugin if unnecessary.
- Restrict dynamic callback functionality to a hard-coded allowlist.
- Review logs for suspicious form-processing requests.
- Investigate systems showing signs of compromise.
Indicators of Compromise
For incident-response purposes, administrators should review application and web-server logs around the affected functionality.
A useful investigation should examine:
Application / Web Logs
│
├── Unusual Requests to Vulnerable Functions
├── Unexpected Authentication Events
├── Suspicious File Operations
├── Unexpected Account / Role Changes
├── Recently Modified Files
└── Unusual Outbound Connections
Log evidence should be correlated with account activity, filesystem changes, deployment history, and application configuration rather than treated as a single definitive indicator.
Conclusion
CVE-2026-3584 affects the Kali Forms WordPress plugin through version 2.4.9. The vulnerability allows unauthenticated remote code execution through the form_process functionality because attacker-controlled values can reach dynamic PHP callback execution.
The main lesson is that security-sensitive functionality must enforce authorization and validation on the server side. Client-controlled identifiers, role values, filenames, MIME types, filesystem paths, and template content should never be trusted simply because they originated from an apparently legitimate application workflow.
For security researchers and developers, this issue provides a useful case study in secure application design, particularly around authorization boundaries, file handling, authentication, input validation, and defense-in-depth.
SOURCE: https://github.com/Yucaerin/CVE-2026-3584
References:
Related posts
CVE-2025-6254: Unauthenticated Administrator Registration in Doctreat Core
CVE-2025-6254 affects the Doctreat Core WordPress plugin through version 1.6.8. The vulnerability allows unauthenticated attackers to register an account with administrator privileges because the registration handler does not properly restrict the requested role.
CVE-2026-5118: Unauthenticated Privilege Escalation in Divi Form Builder
CVE-2026-5118 affects Divi Form Builder through version 5.1.2. The vulnerability allows unauthenticated attackers to create administrator accounts by manipulating the role value accepted during public form registration.
CVE-2026-8181: Authentication Bypass in Burst Statistics
CVE-2026-8181 affects Burst Statistics – Privacy-Friendly WordPress Analytics versions 3.4.0 through 3.4.1.1. The vulnerability is an authentication bypass that can allow an unauthenticated attacker who knows an administrator username to impersonate that administrator during a request.