Description
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.
Published: 2026-08-12
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Admidio opened an inventory fields API path that checks only a CSRF token and performs a delete operation on the field definition and all its data, but omits the administrator permission check that exists for other inventory actions. The missing control means any authenticated user can permanently destroy an inventory field, thereby deleting all stored values that referenced it and potentially breaking application functionality. The flaw is a classic access‑control bypass (CWE‑1281) that results in loss of data integrity and availability for the application.

Affected Systems

Admidio 5.0.9 is known to contain the issue; later releases such as 5.0.10 include the correct guard. Earlier or other releases are not documented as affected.

Risk and Exploitability

The CVSS score of 6.5 indicates a moderate risk; the vulnerability can be exploited by any user with a valid session, simply by sending a POST request with a correct CSRF token to mode=field_delete. EPSS data is not available, and the feature is not listed in the CISA KEV catalog. The lack of an administrator check means exploitation does not require additional privileges, making the attack path straightforward for users who have legitimate access to the site.

Generated by OpenCVE AI on August 13, 2026 at 00:10 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Admidio 5.0.10 or later to apply the missing administrator check
  • Restrict access to the inventory management interface so that only users with administrative privileges can reach the mode=field_delete handler
  • Monitor application logs for unexpected field_delete requests and raise alerts for unauthorized deletion attempts

Generated by OpenCVE AI on August 13, 2026 at 00:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-xw54-c3mx-9pm3 Admidio: Any logged-in user can delete inventory fields via `mode=field_delete` — incomplete fix of #2024
History

Thu, 13 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 12 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Admidio
Admidio admidio
Vendors & Products Admidio
Admidio admidio

Wed, 12 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Admidio: Any logged-in user can delete inventory fields via `mode=field_delete` — incomplete fix of #2024
Weaknesses CWE-1281
CWE-862
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-13T16:17:53.128Z

Reserved: 2026-05-18T22:54:18.271Z

Link: CVE-2026-47233

cve-icon Vulnrichment

Updated: 2026-08-13T16:16:25.328Z

cve-icon NVD

Status : Received

Published: 2026-08-12T15:17:33.813

Modified: 2026-08-13T17:17:22.290

Link: CVE-2026-47233

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T00:15:04Z

Weaknesses
  • CWE-1281

    Sequence of Processor Instructions Leads to Unexpected Behavior

  • CWE-862

    Missing Authorization