Severity by source
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Authenticated uploader (PR:L) and victim must open the URL (UI:R); script runs in-origin crossing to the victim's session (S:C) enabling same-origin read and authenticated actions (C:H/I:H, A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
6DescriptionNVD
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.
AnalysisAI
Snipe-IT versions prior to 8.7.0 are affected by stored cross-site scripting in the uploaded-files API: an authenticated user with file-management access can upload an XML attachment carrying an xml-stylesheet reference and then request it through GET /api/v1/{object_type}/{id}/files/{file_id}?inline=true, which the API controller serves with Content-Disposition: inline without the safe-inline allowlist enforced by the equivalent web controller. Because the XML/XSLT is rendered in the Snipe-IT origin, an authorized victim who opens the attachment URL runs attacker-generated JavaScript under their own session, enabling same-origin data reads and authenticated actions with the victim's privileges. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
No credit card · 7-day full trial
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Requires an authenticated Snipe-IT account with file-management access to upload attachments, plus the ability to reach GET /api/v1/{object_type}/{id}/files/{file_id} with inline=true. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N, base 8.7) describes a network-reachable, low-complexity stored XSS that requires an authenticated uploader (PR:L) and a victim who opens the malicious attachment (UI:R), with a scope change (S:C) because script runs in the Snipe-IT origin under the victim's session. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Vendor-released patch: upgrade to Snipe-IT 8.7.0 or later, which introduces the config/filesystems.php 'allowed_inline_display' allowlist, makes StorageHelper verify both the extension and the server-detected MIME type, forces non-allowlisted attachments through StorageHelper::downloader() as downloads, and adds 'X-Content-Type-Options: nosniff' with a generic 'application/octet-stream' content type. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, inventory all Snipe-IT instances and confirm whether any run a version earlier than 8.7.0, then reduce exposure by blocking or tightly restricting GET /api/v1/{object_type}/{id}/files/{file_id}?inline=true at the reverse proxy or WAF, forcing Content-Disposition: attachment and a safe Content-Type for files served through the API, auditing accounts that hold file-management privileges to the minimum necessary, and quarantining or reviewing existing XML/XSLT attachments. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-86288
GHSA-396x-xmvh-p563