Summary
CVE-2026-74803 is a critical unauthenticated arbitrary file upload vulnerability in the Zoo extension (com_zoo) for Joomla, affecting all versions from 1.0.0 through 4.1.63. The flaw resides in the Image element of the front-end item submission form, which validates uploaded files based solely on the client-supplied Content-Type header rather than inspecting actual file content. This allows an unauthenticated attacker to upload a PHP file disguised as an image and achieve remote code execution, resulting in complete compromise of confidentiality, integrity, and availability.
Technical details
- Root cause: CWE-434 (Unrestricted Upload of File with Dangerous Type) — the Image element’s upload validator trusts the client-supplied
Content-Typeheader to determine whether a file is an image, without verifying the file’s actual contents. - Trigger condition: any front-end submission form that includes an Image element and accepts anonymous/public submissions.
- Attack vector: an attacker uploads a file (e.g., a
.phpfile) while settingContent-Type: image/jpeg(or another image MIME type) in the upload request; the file retains its dangerous extension and is stored in a web-accessible uploads directory. - Impact: the uploaded file can be directly requested and executed by the web server, giving the attacker unauthenticated remote code execution on the host, with no authentication or user interaction required.
Affected software
- Zoo extension (com_zoo) for Joomla: versions 1.0.0 through 4.1.63
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
Mitigation and recommended actions
- Immediate: Upgrade the Zoo extension to version 4.1.64 or later (4.1.65 was released shortly after 4.1.64 with additional security fixes and is recommended as the current version).
- If patching cannot be applied immediately: disable or restrict public/anonymous front-end item submission forms that include an Image element, and review the uploads directory (typically under
images/zoo/uploads/) for unexpected non-image files, particularly ones with.phpor other executable extensions, removing any found and investigating for further compromise. - Consider server-level controls to prevent script execution within upload directories as a defense-in-depth measure.

