The vulnerability exists because of a missing authorization check in several backend handlers within modules/inventory.php. While the UI correctly hides destructive action buttons from non-administrators, the backend API endpoints are left unprotected. Any authenticated user can craft a POST request to these endpoints to perform destructive actions like deleting, retiring, or reinstating inventory items, as well as managing item pictures. The analysis of the patch for version 5.0.9 confirms that an authorization check using $gCurrentUser->isAdministratorInventory() was added to the item_delete handler, validating the vulnerability report. The vulnerability report also explicitly names other affected handlers (item_retire, item_reinstate, etc.) and service/data layer methods (ItemService.delete, ItemsData.deleteItem) that lack authorization, which are included in the analysis. The root cause is the failure to implement server-side authorization checks, relying only on client-side UI controls for security.