Advisory Database
  • Advisories
  • Dependency Scanning
  1. composer
  2. ›
  3. snipe/snipe-it
  4. ›
  5. CVE-2026-62368

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

September 24, 2026

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.)

References

  • github.com/advisories/GHSA-p9h3-gvpq-5539
  • github.com/grokability/snipe-it/commit/58754e4e3b86b58a0c4523012ef04a2ae990d2c8
  • github.com/grokability/snipe-it/releases/tag/v8.7.0
  • github.com/grokability/snipe-it/security/advisories/GHSA-p9h3-gvpq-5539
  • nvd.nist.gov/vuln/detail/CVE-2026-62368

Code Behaviors & Features

Detect and mitigate CVE-2026-62368 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 8.7.0

Fixed versions

  • 8.7.0

Solution

Upgrade to version 8.7.0 or above.

Impact 8.1 HIGH

CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N

Learn more about CVSS

Weakness

  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Source file

packagist/snipe/snipe-it/CVE-2026-62368.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:15:54 +0000.