Skip to main content
← All vulnerabilities
CVE-2026-47233GHSA-XW54-C3MX-9PM3

Admidio: Any logged-in user can delete inventory fields via `mode=field_delete` — incomplete fix of #2024

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.0.10
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

Admidio is an open-source user management solution. Version 5.0.9 added a missing `isAdministratorInventory()` gate to `case 'item_delete':` in `modules/inventory.php`. The same fix was not applied to the sibling `case 'field_delete':` handler, which destroys an entire inventory field definition, cascading to every `adm_inventory_item_data` row that referenced that field and every `adm_inventory_field_options` entry. The handler validates only a session-bound CSRF token; there is no `isAdministratorInventory()` check at the controller level, and `Admidio\Inventory\Entity\ItemField::delete()` does not enforce one at the entity level either (unlike its sibling `ItemField::save()`, which does check `$gCurrentUser->isAdministrator()`). Any user who can log in to the site can permanently destroy a non-system inventory field by sending one POST. Version 5.0.10 provides an updated fix.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • Admidio admidio

    fixed in 5.0.10

  • admidio/admidioPackagist

    fixed in 5.0.10

References 2

GitHub · Admidio/admidio