---
id: CVE-2026-55843
aliases:
  - GHSA-j5g3-42wp-gqm3
title: Snipe-IT has an Improper Privilege Management issue
summary: Snipe-IT has an Improper Privilege Management issue
severity: high
cvss: 6.5
cwe:
  - CWE-269
vendor: snipe
product: snipe/snipe-it
ecosystem: composer
affected:
  - snipe/snipe-it < 8.6.0
patched:
  - snipe/snipe-it 8.6.0
published: '2026-08-28'
updated: '2026-08-28'
source: GHSA
sourceUrl: 'https://github.com/advisories/GHSA-j5g3-42wp-gqm3'
references:
  - url: >-
      https://github.com/grokability/snipe-it/security/advisories/GHSA-j5g3-42wp-gqm3
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-55843'
  - url: >-
      https://github.com/grokability/snipe-it/commit/1cff2d67aabd00ee51d864c1d7fb717494c1d6ad
  - url: 'https://github.com/grokability/snipe-it/releases/tag/v8.6.0'
  - url: 'https://github.com/advisories/GHSA-j5g3-42wp-gqm3'
tags:
  - ghsa
  - composer
epss: 0.0054
epssPercentile: 0.44356
ingestedAt: '2026-08-28T23:26:57.475Z'
---

## Overview

## Impact

The `update()` method in `UsersController` passes the `permission` request field unconditionally to `NormalizePermissionsPayloadAction`, which returns an empty array when the field is absent. The result is passed to `PreserveUnauthorizedPrivilegedPermissionsAction`, which selectively restores only the `superuser` key (when the editor is not a superuser) and the `admin` key (when the editor is neither admin nor superuser). All other permissions — including the `admin` flag itself when the editing user is an admin — are discarded and `$user->permissions` is overwritten with the sparse result.

The `canEditAuthFields` gate permits admins to update other non-superuser accounts (including other admins). When an admin sends a `PUT /users/{id}` request for another admin without including the `permission` field, the target's `admin` flag and all granular permissions are permanently destroyed. The target loses administrative access entirely with no error, warning, or out-of-band notification.

A secondary, lower-impact path exists for non-admin users holding the `users.edit` permission: they may target regular (non-admin, non-superuser) accounts and wipe all granular permissions in the same way.

### Patches
Patched in https://github.com/grokability/snipe-it/commit/1cff2d67aabd00ee51d864c1d7fb717494c1d6ad

## Affected packages

- `snipe/snipe-it < 8.6.0`

## Remediation

Upgrade to a patched release:

- `snipe/snipe-it 8.6.0`
