Summary
CVE-2026-65883 is a critical, unauthenticated PHP object injection vulnerability in the Aimy Captcha-Less Form Guard plugin for Joomla. A forged clfgd field is deserialized without validation, allowing an attacker to inject malicious PHP objects and achieve remote code execution. The flaw is rated CVSS 10.0 (Critical) and is exploitable remotely over the network with no privileges or user interaction.
Technical details
- Root cause: Deserialization of untrusted data (CWE-502). The plugin processes the attacker-controllable
clfgdform field and passes it to PHP object deserialization without validation. - Trigger conditions: An attacker submits a request containing a forged/crafted
clfgdfield to a form protected by the plugin. No authentication or user interaction is required. - Attack vector: Network (remote), low complexity, no privileges required (AV:N/AC:L/PR:N/UI:N).
- Impact: PHP object injection leading to arbitrary code execution in the application context, resulting in full compromise of confidentiality, integrity, and availability of the affected Joomla site and potentially the underlying host.
Affected software
- Aimy Captcha-Less Form Guard (Joomla plugin, vendor aimy-extensions.com): versions 18.0 through 20.0 (inclusive).
Severity
- CVSS v4.0 Base Score: 10.0 (Critical)
- Vector:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H - Note: The CVE record and NVD publish this vulnerability using the CVSS v4.0 metric only; a CVSS v3.1 base score/vector has not been assigned by the authoritative sources at time of writing.
Mitigation and recommended actions
- Immediate: Upgrade the Aimy Captcha-Less Form Guard plugin to version 20.1, which the vendor states contains the fix. Update via the Joomla backend using the standard extension update procedure.
- If patching cannot be applied immediately: Restrict or block untrusted network access to forms protected by the plugin (e.g., via WAF rules that inspect and reject requests containing a
clfgdparameter with serialized PHP object payloads), and consider temporarily disabling the plugin until the update is installed.

