CVE-2026-86734
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-86734 is a Denial of Service (DoS) vulnerability in Snipe-IT, an open-source IT asset management application, caused by uncontrolled resource consumption (CWE-400) in the account acceptance endpoint. All versions before 8.7.1 are affected. The vulnerability was disclosed on September 8, 2026, with a patch committed on August 11, 2026 and released in version 8.7.1. It carries a CVSS v3.1 base score of 6.5 (Medium) and a CVSS v4.0 base score of 7.1 (High) (GitHub Advisory, VulnCheck).

Technical details

The root cause is two-layered: AcceptanceController::store() accepted the note field in POST /account/accept/{acceptance} without any server-side length validation, and the underlying checkout_acceptances.note database column is of type TEXT with no enforced limit. Submitted note values are forwarded to AcceptanceItemDeclinedNotification, which renders them synchronously through the mail markdown pipeline using league/commonmark 2.8.2 — a version affected by a known parser DoS (GHSA-2q4p-g7hv-5rgv). Because Snipe-IT's default queue driver is sync (configured in config/queue.php), this markdown parsing occurs within the HTTP request cycle, consuming PHP worker CPU proportional to input size. The reporter demonstrated approximately 847 ms per render at 40,005 bytes and approximately 2.6 seconds per render at 80,000 bytes on v8.7.0-pre (GitHub Advisory, GitHub Commit).

Impact

Successful exploitation allows any authenticated user with a pending checkout acceptance to exhaust PHP worker CPU resources by repeatedly submitting oversized note values, rendering the Snipe-IT service unavailable to other users. There is no impact on confidentiality or data integrity — no unauthorized data access, privilege escalation, or code execution was demonstrated. The vulnerability is limited in scope to availability of the affected Snipe-IT instance, with no evidence of lateral movement potential (GitHub Advisory, VulnCheck).

Exploitability

No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation at this time. The EPSS score is approximately 0.295%, indicating a low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires authentication (low privileges), but no special configuration or user interaction beyond having a pending checkout acceptance assigned (GitHub Advisory, VulnCheck).

Exploitation steps

  1. Authenticate: Log in to a Snipe-IT instance (version < 8.7.1) as any user who has a pending checkout acceptance assigned to their account.
  2. Identify the target endpoint: Navigate to the account acceptance page and note the acceptance ID from the URL (e.g., /account/accept/{acceptance}).
  3. Craft an oversized payload: Prepare a large note field value — for example, a string of 40,000–80,000+ bytes (e.g., 'F9' + ' ' * 40000 + 'éZ' as demonstrated by the reporter).
  4. Submit the malicious request: Send a POST request to /account/accept/{acceptance} with the oversized note parameter, e.g., using curl or a script:
    POST /account/accept/123 HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    Cookie: [session cookie]
    
    asset_acceptance=declined&note=<40000+ byte string>
  5. Trigger synchronous markdown rendering: The server passes the unbounded note to AcceptanceItemDeclinedNotification, which renders it via league/commonmark 2.8.2 synchronously within the request cycle, consuming significant PHP worker CPU (≈847 ms at 40k bytes, ≈2.6 s at 80k bytes).
  6. Repeat to exhaust resources: Send repeated requests in rapid succession to saturate available PHP workers, causing denial of service for all other users of the application (GitHub Advisory, GitHub Commit).

Indicators of compromise

  • Network: Repeated POST requests to /account/accept/{acceptance} with unusually large request body sizes (tens of kilobytes or more) from the same authenticated session or IP address.
  • Logs: Web server or application logs showing high-frequency requests to the acceptance endpoint with large Content-Length values; PHP-FPM or web server logs indicating worker timeouts or elevated response times on this endpoint.
  • Process: Sustained high CPU utilization by PHP worker processes coinciding with requests to the acceptance endpoint; PHP workers blocked or slow to respond during the attack window.
  • Application: Snipe-IT becoming unresponsive or returning 503/504 errors during periods of high-volume acceptance submissions (GitHub Advisory).

Mitigation and workarounds

The primary remediation is to upgrade Snipe-IT to version 8.7.1 or later, which applies a two-layer fix: adding $request->validate(['note' => 'nullable|string|max:1000']) in AcceptanceController::store() to enforce a 1,000-character server-side limit, and bumping league/commonmark to ^2.9.0 (pinned at 2.10.0) to address the upstream parser DoS (GHSA-2q4p-g7hv-5rgv). For operators unable to upgrade immediately, two interim mitigations are available: (1) configure a non-synchronous queue driver in config/queue.php / .env to move notification rendering off the request cycle, and (2) rate-limit POST /account/accept/{acceptance} at the reverse-proxy or WAF layer. Neither workaround is a substitute for upgrading (GitHub Advisory, GitHub Commit).

Community reactions

The vulnerability was credited to researcher PizzaStev3 (Ahmed Mohammed) and disclosed responsibly through GitHub's security advisory process. The Snipe-IT maintainer (snipe) acted as the remediation developer. No significant broader media coverage or notable community commentary beyond the official advisory and standard vulnerability database aggregation has been observed (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-86738CRITICAL9.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86734HIGH7.1
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86735MEDIUM5.9
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86737MEDIUM5.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86736MEDIUM5.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management