← Vulnerability feed

Vulnerability record · CVE-2026-86749 · published 9 September 2026

CVE-2026-86749: Snipeitapp snipe-it unchecked return value vulnerability

Snipeitapp · Snipe It

Snipe-IT versions <= 8.6.3 (fixed in 8.7.0) do not check the return value of storage write operations in ImageUploadRequest::handleImages(). Because Laravel's default disk mode does not throw on failure, a silently failed Storage::disk('public')->put(...) call still caused the application to delete the previous image via deleteExistingImage() and to reassign and persist the model's image reference to the new filename, destroying the existing image and leaving the database row pointing at a file that was never written. A mirror problem existed in deleteExistingImage(), where a failed Storage::delete() still nulled the model's image field, orphaning the file on disk. The condition is not directly attacker-controlled: it is triggered when any legitimate authenticated user submits an image upload while the storage backend transiently fails (for example an S3 network error, a local filesystem permission problem, or quota exhaustion). The result is unrecoverable loss of the prior image and a durable inconsistency between the database and disk that requires manual reconciliation. All models whose controllers route through ImageUploadRequest::handleImages (assets, asset models, users, companies, manufacturers, locations, categories, suppliers, departments, and other image-carrying models) are affected.

7.0 CVSS 4.0 High EPSS 0.34% · top 75.3% CWE-252 · Unchecked return value
7.0CVSS 4.0 base score
0.34%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
2References, 1 tagged exploit
19 Sep 2026Last modified by NVD

Description

Snipe-IT versions <= 8.6.3 (fixed in 8.7.0) do not check the return value of storage write operations in ImageUploadRequest::handleImages(). Because Laravel's default disk mode does not throw on failure, a silently failed Storage::disk('public')->put(...) call still caused the application to delete the previous image via deleteExistingImage() and to reassign and persist the model's image reference to the new filename, destroying the existing image and leaving the database row pointing at a file that was never written. A mirror problem existed in deleteExistingImage(), where a failed Storage::delete() still nulled the model's image field, orphaning the file on disk. The condition is not directly attacker-controlled: it is triggered when any legitimate authenticated user submits an image upload while the storage backend transiently fails (for example an S3 network error, a local filesystem permission problem, or quota exhaustion). The result is unrecoverable loss of the prior image and a durable inconsistency between the database and disk that requires manual reconciliation. All models whose controllers route through ImageUploadRequest::handleImages (assets, asset models, users, companies, manufacturers, locations, categories, suppliers, departments, and other image-carrying models) are affected.

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2026-86749 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

9.9CVE-2025-63601Snipeitapp snipe-it unrestricted file upload vulnerabilitySnipe-IT before version 8.3.3 contains a remote code execution vulnerability that allows an authenticated attacker to upload a malicious backup file …EPSS 0.60%9.8CVE-2026-37709Snipeitapp snipe-it improper access control vulnerabilityInsecure Permissions vulnerability in grokability snipe-it v.8.4.0 and before and fixed after 2026-03-10 commit 676a9958 allows a remote attacker to …EPSS 0.79%9.3CVE-2026-86738Snipeitapp snipe-it cross-site scripting vulnerabilitySnipe-IT versions before 8.7.0 contain a CSS injection vulnerability in the Custom CSS field due to incomplete sanitization that reverses HTML encodi…EPSS 0.49%8.8CVE-2023-5511Snipeitapp snipe-it cross-site request forgery vulnerabilityCross-Site Request Forgery (CSRF) in GitHub repository snipe/snipe-it prior to v.6.2.3.EPSS 0.27%8.8CVE-2022-23064Snipeitapp snipe-it injection vulnerabilityIn Snipe-IT, versions v3.0-alpha to v5.3.7 are vulnerable to Host Header Injection. By sending a specially crafted host header in the reset password …EPSS 1.3%8.8CVE-2022-0611Snipeitapp snipe-it missing authorization vulnerabilityMissing Authorization in Packagist snipe/snipe-it prior to 5.3.11.EPSS 1.2%8.8CVE-2021-4130Snipeitapp snipe-it cross-site request forgery vulnerabilitysnipe-it is vulnerable to Cross-Site Request Forgery (CSRF)EPSS 0.46%8.8CVE-2021-3858Snipeitapp snipe-it cross-site request forgery vulnerabilitysnipe-it is vulnerable to Cross-Site Request Forgery (CSRF)EPSS 0.54%

Source: NIST National Vulnerability Database (record CVE-2026-86749), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.