# CVE-2026-63498: Snipe-IT stored XSS via inline XML rendering in uploaded files API

Source: https://junglewise.ai/threats/cve-2026-63498-snipe-it-stored-xss-via-inline-xml-rendering-in-uploaded-files  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-24. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-63498 · Severity: high · CVSS 8.7 · Published 2026-09-24

Snipe-IT is an open-source asset management system used by organizations to track IT hardware, software licenses, and other inventory. A vulnerability allows authenticated attackers to upload malicious XML documents that execute arbitrary JavaScript in the browser when other authorized users view the files through the API. An attacker with file-upload permissions can steal sensitive asset data, perform unauthorized actions as victims, or compromise administrator accounts.

Technologies: [snipe/snipe-it (Packagist)](https://junglewise.ai/threats/technologies/snipe-snipe-it). Vendors: [Packagist](https://junglewise.ai/threats/vendors/packagist).

## Quick answers

**Is CVE-2026-63498 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-63498 being exploited in the wild.

**How severe is CVE-2026-63498?** High severity, with a CVSS score of 8.7, published 24 September 2026.

**Which products and versions are affected?** snipe/snipe-it (Packagist) < 8.7.0, ECOSYSTEM:introduced=0,fixed=8.7.0.

**Is there a fix for CVE-2026-63498?** Yes. snipe/snipe-it (Packagist): upgrade to 8.7.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-63498 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-63498?** Check whether you run snipe/snipe-it (Packagist) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- snipe/snipe-it (Packagist): upgrade to 8.7.0 or later

  ```sh
  composer require snipe/snipe-it:^8.7.0
  ```


## Technical details

The vulnerability is a stored cross-site scripting (XSS) flaw in the uploaded-files API controller. The root cause is that XML files are allowed as valid upload extensions and the API's show() method honors the ?inline=true parameter for all file types without applying the safe-inline allowlist check that the web controller uses. When an XML document containing an xml-stylesheet processing instruction references an attacker-controlled XSLT stylesheet (also uploaded via the API), the browser processes the stylesheet and executes injected JavaScript. Attack preconditions: authenticated account with file-upload permissions on a supported object, victim authentication, and victim interaction with the malicious XML file URL. The default CSP policy (script-src 'unsafe-inline' 'unsafe-eval') does not mitigate the injected script. The fix adds StorageHelper::allowSafeInline() validation to the API controller's response path.

## Affected products

- Snipe-IT Snipe-IT up to v8.6.3

## Identifiers

- CVE-2026-63498
- GHSA-396x-xmvh-p563

## Timeline

- 2026-09-24: disclosed
- 2026-09-24: patched: Fixed in commit e929b31f0b183c5810bd2b833c1f6f643cbe5284

## Related threats

- [Snipe-IT 2FA bypass via API token flow](https://junglewise.ai/threats/cve-2026-63493-snipe-it-2fa-bypass-via-api-token-flow)
- [Snipe-IT stored XSS in custom field names](https://junglewise.ai/threats/cve-2026-62368-snipe-it-stored-xss-in-custom-field-names)
- [Snipe-IT stored DOM XSS via table selected-count IDs](https://junglewise.ai/threats/cve-2026-61807-snipe-it-stored-dom-xss-via-table-selected-count-ids)
- [Snipe-IT maintenance record disclosure via missing authorization](https://junglewise.ai/threats/cve-2026-55703-snipe-it-maintenance-record-disclosure-via-missing-authorization)
- [Snipe-IT authorization bypass in EULA file access](https://junglewise.ai/threats/cve-2026-55694-snipe-it-authorization-bypass-in-eula-file-access)
