Description
CI4MS is a CodeIgniter 4-based content management system skeleton. Prior to version 0.31.9.0, the Fileeditor module enforces an extension allowlist (`['css','js','html','txt','json','sql','md']`) on content-write operations (`saveFile`, `createFile`), but two destructive endpoints — `deleteFileOrFolder` and `renameFile` — never validate the extension of the *source* path. A backend user with file-editor permissions can therefore unlink or rename any file inside the project root that is not explicitly listed in the small `$hiddenItems` blocklist. Critical framework files such as `app/Config/Routes.php`, `app/Config/App.php`, `app/Config/Database.php`, `app/Config/Filters.php`, `public/index.php`, and `public/.htaccess` all live outside that blocklist and can be destroyed, producing a persistent denial of service that requires filesystem-level redeployment to recover. Version 0.31.9.0 patches the issue.
Published: 2026-07-20
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The CI4MS Fileeditor module, used in a CodeIgniter 4‑based CMS, enforces an allow‑list of text‑based extensions for write operations but neglects to check the source file’s extension when deleting or renaming files. A user with file‑editor privileges can therefore unlink or rename any file under the project root that is not listed in a small $hiddenItems blocklist. Because critical framework files – such as app/Config/Routes.php, app/Config/App.php, app/Config/Database.php, app/Config/Filters.php, public/index.php, and public/.htaccess – are not blocked, the attacker can destroy or rename these files, causing a persistent denial of service that can only be repaired by restoring the files from backup or redeploying the application. The issue was fixed in version 0.31.9.0

Affected Systems

This vulnerability affects CI4MS, a CodeIgniter 4‑based content‑management system. Users of CI4MS versions prior to 0.31.9.0 are susceptible. The product is listed under the CI4CMS ERP vendor namespace as ci4ms.

Risk and Exploitability

The CVSS score of 6.5 indicates moderate severity. Exploitation requires a legitimate backend account with file‑editor privileges and access to the delete and rename endpoints. The attack vector relies on privileged internal access, so external exploitation is unlikely without initial compromise. The EPSS score of <1% and the fact that the vulnerability is not listed in the CISA KEV catalog suggest it has not been widely exploited in the wild so far.

Generated by OpenCVE AI on July 30, 2026 at 19:26 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Deploy CI4MS version 0.31.9.0 or later to patch the flaw
  • Limit the file‑editor role to only users who truly need it and remove the role from default administrative accounts
  • Implement additional runtime checks to validate the file extension on delete and rename endpoints, or restrict those endpoints to a safe list of directories via web‑server configuration

Generated by OpenCVE AI on July 30, 2026 at 19:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-245j-xjvr-xvm5 CI4MS Fileeditor allows deletion and rename of critical application files due to missing extension allowlist on destructive operations
History

Mon, 20 Jul 2026 23:45:00 +0000

Type Values Removed Values Added
First Time appeared Ci4-cms-erp
Ci4-cms-erp ci4ms
Vendors & Products Ci4-cms-erp
Ci4-cms-erp ci4ms

Mon, 20 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 20 Jul 2026 14:45:00 +0000

Type Values Removed Values Added
Description CI4MS is a CodeIgniter 4-based content management system skeleton. Prior to version 0.31.9.0, the Fileeditor module enforces an extension allowlist (`['css','js','html','txt','json','sql','md']`) on content-write operations (`saveFile`, `createFile`), but two destructive endpoints — `deleteFileOrFolder` and `renameFile` — never validate the extension of the *source* path. A backend user with file-editor permissions can therefore unlink or rename any file inside the project root that is not explicitly listed in the small `$hiddenItems` blocklist. Critical framework files such as `app/Config/Routes.php`, `app/Config/App.php`, `app/Config/Database.php`, `app/Config/Filters.php`, `public/index.php`, and `public/.htaccess` all live outside that blocklist and can be destroyed, producing a persistent denial of service that requires filesystem-level redeployment to recover. Version 0.31.9.0 patches the issue.
Title CI4MS Fileeditor allows deletion and rename of critical application files due to missing extension allowlist on destructive operations
Weaknesses CWE-73
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H'}


Subscriptions

Ci4-cms-erp Ci4ms
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-20T16:40:55.398Z

Reserved: 2026-05-08T20:44:38.963Z

Link: CVE-2026-45139

cve-icon Vulnrichment

Updated: 2026-07-20T16:38:33.339Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T19:30:09Z

Weaknesses
  • CWE-73

    External Control of File Name or Path