Description
Snipe-IT is an IT asset/license management system. Prior to 8.7.0, the uploaded-files API endpoint GET /api/v1/{object_type}/{id}/files/{file_id} allows an authenticated user with file-management access to upload XML and XSLT attachments and request them with the inline=true parameter. The app/Http/Controllers/Api/UploadedFilesController.php show() path does not apply the safe-inline allowlist used by the equivalent web controller, so the browser can process an attacker-controlled xml-stylesheet reference and execute JavaScript generated by the stylesheet in the Snipe-IT origin. A victim who is authorized to view the object must open the attachment URL, after which the script can read same-origin data and perform authenticated actions with the victim's privileges. This issue is fixed in version 8.7.0.
Affected products
snipeitapp: snipe-it
References4
- github.com/grokability/snipe-it/security/advisories/GHSA-396x-x… ExploitPatchVendor Advisory
- github.com/grokability/snipe-it/security/advisories/GHSA-396x-x… ExploitPatchVendor Advisory
- github.com/grokability/snipe-it/commit/e929b31f0b183c5810bd2b83… Patch
- github.com/grokability/snipe-it/releases/tag/v8.7.0 Release Notes
Metrics
- CVSS 3.1
-
5.4
MEDIUM
Score source: NVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N - EPSS — exploit probability
- 0% percentile: 15 · as of 9 November 2026
- CWE
- CWE-79
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.