Wysoka

Snipe-IT: Stored XSS via Custom Field name in asset-list column headers

  • Ujawniono: 24.09.2026
  • Aktualizacja: 11.10.2026 10:22

Impact

A user with the "customfields.create" permission can store HTML/JS in a Custom Field name, which is later rendered as an asset-list column title WITHOUT escaping at app/Presenters/AssetPresenter.php line 364 ('title' => $field->name) and injected into the table header by the bundled bootstrap-table plugin. It executes for anyone who opens an asset list (e.g. /hardware), including superusers, on page load with no interaction. Since "customfields.create" can be granted to non-superusers, a lower-privileged user gets script execution in a superuser's session -> privilege escalation.

STEPS TO REPRODUCE

  1. As a user with "customfields.create", create a Custom Field named: <img src=x onerror=alert(1)>
  2. Add the field to a fieldset that is associated with an asset model.
  3. Open /hardware -> the payload executes on load.

DEMONSTRATED IMPACT An account holding ONLY "customfields.create" (HTTP 403 on /users) planted a payload that, when a superuser opened /hardware, issued an authenticated request in that session and granted the attacker's own account the "superuser" permission (afterwards: GET /users = 200, isSuperUser() = true).

ROOT CAUSE

  • Blade {{ }} encodes the data-columns attribute, but the browser decodes it back before bootstrap-table reads the title; bootstrap-table then renders the header title unescaped because its table-level "escape" option defaults to false and is never enabled. (The per-column 'escape' => true covers cell values, not the header title.)

Patches

Patched in https://github.com/grokability/snipe-it/commit/58754e4e3b86b58a0c4523012ef04a2ae990d2c8

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka Composer snipe/snipe-it < 8.7.0 8.7.0

Odnośniki

Ocena CVSS 8.1/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
Słabość (CWE)
CWE-79
Platforma
Composer
Paczka
snipe/snipe-it
Ujawniono
24.09.2026
Aktualizacja
11.10.2026 10:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-p9h3-gvpq-5539 - CC BY 4.0

Historia podatności: snipe/snipe-it

Wszystkie opisane podatności tej paczki (Paczka Composer), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (81) w archiwum
Wszystkich wpisów
81
Pierwsza → ostatnia
10.2021 09.2026
Bez poprawki
6
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 1
  • Wysoka 23
  • Średnia 53
  • Niska 4

Ujawnienia w latach

  1. 2021: 10
  2. 2022: 20
  3. 2023: 2
  4. 2024: 3
  5. 2025: 6
  6. 2026: 40
Istotność:
  1. Snipe-IT: Stored XSS via Custom Field name in asset-list column headers ten wpis
    Wysoka · 8.1 CVE-2026-62368 < 8.7.0 8.7.0
  2. Wysoka CVE-2026-63493 < 8.7.0 8.7.0
  3. Wysoka · 6.5 CVE-2026-55843 < 8.6.0 8.6.0
  4. Wysoka CVE-2026-55474 < 8.5.0 8.5.0
  5. Wysoka · 7.1 CVE-2026-55460 < 8.6.2 8.6.2
  6. Wysoka CVE-2026-55643 < 8.6.3 8.6.3
  7. Wysoka · 8.5 CVE-2026-54329 < 8.6.2 8.6.2
  8. Krytyczna · 9.8 CVE-2026-37709 < 8.4.1 8.4.1
  9. Wysoka · 8.8 CVE-2026-44832 < 8.4.1 8.4.1
  10. Wysoka · 8.7 CVE-2024-51093 <= 7.0.13 brak poprawki
  11. Wysoka · 7.2 CVE-2024-48987 < 7.0.10 7.0.10
  12. Wysoka · 8.8 CVE-2023-5511 < 6.2.3 6.2.3
  13. Wysoka · 8.8 CVE-2022-23064 >= 3.0-alpha, < 5.3.8 5.3.8
  14. Wysoka · 7.4 CVE-2022-1155 >= 6.0.0-RC-1, < 6.0.0-RC-6, < 5.4.2 6.0.0-RC-6, 5.4.2
  15. Wysoka · 8.8 CVE-2022-0611 < 5.3.11 5.3.11
  16. Wysoka · 8.8 CVE-2021-4130 < 5.3.6 5.3.6
  17. Wysoka · 7.2 CVE-2021-4075 < 6.0.0-GM 6.0.0-GM
  18. Wysoka · 8.0 CVE-2021-3961 < 5.3.2 5.3.2

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.