CVE-2026-41890 CI4MS: Arbitrary Database Table Drop via Theme deleteProcess
An authenticated admin can drop arbitrary database tables by bypassing server-side validation in the theme deletion process.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-41890?
CVE-2026-41890 is a medium-severity missing authorization vulnerability in ci4-cms-erp ci4ms, published on 7 May 2026. An attacker needs administrator access to exploit it, with no action from the victim.
Official description
CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. From version 0.31.1.0 to before version 0.31.8.0, the deleteProcess() action accepts a POST parameter tables[] containing arbitrary table names. These are passed directly to $forge->dropTable() without validating that the tables belong to the theme being deleted. The deleteConfirm view correctly populates tables[] from the theme's own migration files, but the server-side deleteProcess does not verify the received values against those files. An authenticated admin can craft a POST request with arbitrary table names and drop any table in the database. This issue has been patched in version 0.31.8.0.
Weakness: CWE-20
Which versions are affected by CVE-2026-41890?
2 open source packages ship an affected version, including ci4-cms-erp/ci4ms.
| Package | Affected | Fixed in |
|---|---|---|
ci4-cms-erp/ci4ms Packagist | From 0.31.1.0 | 0.31.8.0 |
ci4-cms-erp/ci4ms Packagist | From 0.31.1.0 | 0.31.8.0 |
How do I fix CVE-2026-41890?
Upgrade ci4-cms-erp/ci4ms to 0.31.8.0 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-41890 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-41890 exists.
Sources
Also known as GHSA-vgrf-pr28-vf98.