Skip to content

GHSA-whrx-mmgr-gpcf CVE-2026-55452

Snipe-IT has CSV formula injection in Activity Report export

High Packagist
Severity
0.0 / 10
High · CVSS 4.0
Exploit chance (EPSS)
0.43%
Chance of exploitation in the next 30 days. Higher than 36.85% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-1236 Improper Neutralization of Formula Elements in a CSV File
Fix
8.6.2
Upgrade snipe/snipe-it to this version or later

Description

Impact

In Snipe-IT v8.6.1 and lower, Actionlog::logaction() stores the request User-Agent header in user_agent. That value is later included in the Activity Report CSV export by ReportsController::postActivityReport() and written with plain fputcsv().

A low-privileged authenticated user can set a formula-like User-Agent, perform a logged action, and have that value stored in the activity log. If an admin or report viewer later exports the Activity Report and opens it in spreadsheet software, the formula may execute.

Example payload:

User-Agent: =HYPERLINK("https://example.com/","click")

Affected versions

Packagist

PackageVulnerableFixed in
snipe/snipe-it
< 8.6.2
8.6.2

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

snipe/snipe-it Packagist → 8.6.2

composer
composer require snipe/snipe-it:^8.6.2

Severity breakdown

CVSS 4.0 0.0

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Attack vector
Network
Attack complexity
Low
Attack requirements
None
Privileges required
Low
User interaction
Active
Confidentiality (vulnerable system)
None
Integrity (vulnerable system)
None
Availability (vulnerable system)
None
Confidentiality (subsequent systems)
Low
Integrity (subsequent systems)
Low
Availability (subsequent systems)
None

CVSS 3.1 7.3

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

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Weakness

CWE-1236: Improper Neutralization of Formula Elements in a CSV File

The product saves user-provided information into a Comma-Separated Value (CSV) file, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as a command when the file is opened by a spreadsheet product.

How to prevent it
  • Implementation: When generating CSV output, ensure that formula-sensitive metacharacters are effectively escaped or removed from all data before storage in the resultant CSV. Risky characters include '=' (equal), '+' (plus), '-' (minus), and '@' (at).
  • Implementation: If a field starts with a formula character, prepend it with a ' (single apostrophe), which prevents Excel from executing the formula.
  • Architecture and Design: Certain implementations of spreadsheet software might disallow formulas from executing if the file is untrusted, or if the file is not authored by the current user.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-396x-xmvh-p563
Snipe-IT: Stored XSS via Inline XML Rendering in the Uploaded Files API
Medium Also affects snipe/snipe-it
GHSA-p9h3-gvpq-5539
Snipe-IT: Stored XSS via Custom Field name in asset-list column headers
High Also affects snipe/snipe-it
GHSA-hxcx-9h4f-42xx
Snipe-IT: 2FA bypass via the API token flow
High Also affects snipe/snipe-it
GHSA-c8qc-wf67-342w
Snipe-IT: Stored DOM XSS via table selected-count IDs
Medium Also affects snipe/snipe-it
GHSA-r9r3-g9fp-3q4q
Snipe-IT: Maintenance Record Disclosure via Missing Authorization on GET
Medium Also affects snipe/snipe-it
GHSA-3hgv-jr5j-cg9x
Snipe-IT: Chained Information Disclosure and IDOR Leads to Full EULA File Takeover
Medium Also affects snipe/snipe-it
GHSA-c6w2-j4wq-mvwg
Snipe-IT: Tenant Isolation Bypass in FMCS Floater Mode
High Also affects snipe/snipe-it
GHSA-35cr-9hqq-p2mg
Snipe-IT: Cross-company deletion of pending checkout acceptances via unscoped report endpoint
Medium Also affects snipe/snipe-it
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor