Katalog CVE

CVE-2026-47233

ŚrednieCVSS 6.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.22%

Percentyl 13 - wyżej niż 13% wszystkich znanych CVE

Streszczenie

Admidio to open-source'owe narzędzie do zarządzania użytkownikami. Wersja 5.0.9 dodała brakującą kontrolę `isAdministratorInventory()` do `case 'item_delete':` w `modules/inventory.php`. Ta sama poprawka nie została zastosowana do sąsiedniego `case 'field_delete':`, który niszczy całą definicję pola inwentarza, kaskadowo usuwając wszystkie wiersze `adm_inventory_item_data` i wpisy `adm_inventory_field_options`. Procedura sprawdza tylko token CSRF związany z sesją; nie ma kontroli `isAdministratorInventory()` na poziomie kontrolera, a `Admidio\Inventory\Entity\ItemField::delete()` nie egzekwuje jej na poziomie encji (w przeciwieństwie do `ItemField::save()`, które sprawdza `$gCurrentUser->isAdministrator()`). Każdy zalogowany użytkownik może trwale zniszczyć nie-systemowe pole inwentarza, wysyłając jeden POST. Wersja 5.0.10 zawiera poprawkę.

Ocena ryzyka

Ryzyko trwałego usunięcia pól inwentarza przez nieuprawnionych użytkowników, co może prowadzić do utraty danych i zakłócenia działania systemu.

Rekomendacja

Zaleca się aktualizację Admidio do wersji 5.0.10 lub nowszej oraz ograniczenie dostępu do funkcji zarządzania inwentarzem.

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS