GHSA-5448-v74m-7mv7 CVE-2025-15602
Snipe-IT has sensitive user attributes related to account privileges that are insufficiently protected against mass assignment
- Severity
- 0.0 / 10
- High · CVSS 4.0
- Exploit chance (EPSS)
- 0.48%
- Chance of exploitation in the next 30 days. Higher than 41.24% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-915 Improperly Controlled Modification of Dynamically-Determined Object Attributes
- Fix
8.3.7- Upgrade snipe/snipe-it to this version or later
Description
Snipe-IT versions prior to 8.3.7 contain sensitive user attributes related to account privileges that are insufficiently protected against mass assignment. An authenticated, low-privileged user can craft a malicious API request to modify restricted fields of another user account, including the Super Admin account. By changing the email address of the Super Admin and triggering a password reset, an attacker can fully take over the Super Admin account, resulting in complete administrative control of the Snipe-IT instance.
Affected versions
Packagist
| Package | Vulnerable | Fixed in |
|---|---|---|
| snipe/snipe-it | < 8.3.7 |
8.3.7 |
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.3.7
- composer
composer require snipe/snipe-it:^8.3.7
Severity breakdown
CVSS 4.0 0.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
- Attack vector
- Network
- Attack complexity
- Low
- Attack requirements
- None
- Privileges required
- Low
- User interaction
- None
- Confidentiality (vulnerable system)
- High
- Integrity (vulnerable system)
- High
- Availability (vulnerable system)
- High
- Confidentiality (subsequent systems)
- None
- Integrity (subsequent systems)
- None
- Availability (subsequent systems)
- None
CVSS 3.1 8.8
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Weakness
CWE-915: Improperly Controlled Modification of Dynamically-Determined Object Attributes
The product receives input from an upstream component that specifies multiple attributes, properties, or fields that are to be initialized or updated in an object, but it does not properly control which attributes can be modified.
How to prevent it
- Implementation: If available, use features of the language or framework that allow specification of allowlists of attributes or fields that are allowed to be modified. If possible, prefer allowlists over denylists. For applications written with Ruby on Rails, use the attr_accessible (allowlist) or attr_protected (denylist) macros in each class that may be used in mass assignment.
- Architecture and Design, Implementation: If available, use the signing/sealing features of the programming language to assure that deserialized data has not been tainted. For example, a hash-based message authentication code (HMAC) could be used to ensure that data has not been modified.
- Implementation: For any externally-influenced input, check the input against an allowlist of internal object attributes or fields that are allowed to be modified.
- Implementation, Architecture and Design: Refactor the code so that object attributes or fields do not need to be dynamically identified, and only expose getter/setter functionality for the intended attributes.
References
Advisories
Packages
Other links
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why 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 |
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