Summary
CVE-2026-48907 is a critical unauthenticated remote code execution (RCE) vulnerability in the Joomla Content Editor (JCE) extension for Joomla, affecting all JCE Free and JCE Pro versions prior to 2.9.99.5. By exploiting a missing authorization check on the profile import endpoint, any anonymous internet user can upload and execute arbitrary PHP code on the host server, achieving full system compromise. The vulnerability has been assigned a CVSS 4.0 score of 10.0 (Critical) and is confirmed to be actively exploited in the wild with automated attack tooling publicly available.
Technical details
- Root cause: The vulnerability results from three compounding weaknesses in JCE’s editor profile import functionality. First, the profile import endpoint (
/index.php?option=com_jce&task=profiles.import) performs no meaningful authorization check — only a CSRF token is required, which attackers can trivially harvest from any public page of the Joomla site. Second, theFile::makeSafe()function sanitizes filename characters but does not restrict or validate file extensions, permitting.php,.php5,.phtml, and double-barreled extensions such as.xml.php. Third, the upload call invokesFile::upload($source, $destination, false, true)with$allow_unsafe = true, explicitly bypassing Joomla’s built-in extension blocklist. - Attack chain: Exploitation requires only three unauthenticated HTTP requests: (1) retrieve a valid CSRF token from any public page of the target site; (2) POST a crafted XML file containing a PHP payload to the profiles import endpoint; (3) request the uploaded file — written to
/tmp/with an executable extension intact — to trigger remote code execution. - Attack vector: Network-accessible; no account, session, or prior access required. No user interaction needed.
- Impact: Full remote code execution on the web server process. Successful exploitation enables web shell deployment, persistent backdoor access, data exfiltration, and lateral movement within the hosting environment.
- Exploit maturity: Active in-the-wild exploitation confirmed (CVSS 4.0 supplemental metric E:A – Attacked). The attack is automatable (AU:Y), and a public proof-of-concept exploit script is available on GitHub. A Nuclei detection template has been merged into the projectdiscovery/nuclei-templates repository, facilitating automated scanning for vulnerable targets at scale.
Affected software
- JCE Free – all versions from 1.0.0 through 2.9.99.4 (inclusive)
- JCE Pro – all versions from 1.0.0 through 2.9.99.4 (inclusive)
- JCE 2.7.x and 2.8.x – affected; a dedicated free security patch is available from the vendor for installations that cannot upgrade to 2.9.99.5 or later
- JCE 2.6.x – vendor indicates this branch may not be affected in default configurations; this has not been independently verified
Severity
- CVSS 4.0 Base Score: 10.0 (Critical)
- CVSS 4.0 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/E:A/AU:Y/U:Red - CWE: CWE-284 – Improper Access Control
- A CVSS v3.1 score has not yet been published by NVD for this record.
Mitigation and recommended actions
- Immediate: Upgrade to JCE 2.9.99.6 (released June 6, 2026; requires PHP 7.4+ and Joomla 3.10+). This version includes the security fix from 2.9.99.5 plus additional hardening measures and is the version recommended by the vendor.
- If 2.9.99.6 cannot be deployed: Upgrade to JCE 2.9.99.5 (released June 3, 2026) as a minimum viable patch.
- For older branches (2.7.x, 2.8.x, 2.9.x) on legacy PHP or Joomla versions: The vendor has released a standalone free security patch package. Apply it immediately and plan an accelerated upgrade path.
- Post-compromise: If exploitation is suspected, the vendor advises deleting any rogue JCE profiles, removing suspicious files uploaded to the
/tmp/directory and web-accessible paths, and rotating all credentials for the affected Joomla instance and its underlying database. - Network-level control: If an immediate patch cannot be applied, consider blocking or rate-limiting external access to the path
index.php?option=com_jce&task=profiles.importat the web application firewall or reverse proxy layer as a temporary measure.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

