Skip to main content

Snipe-IT CVE-2026-49870

| EUVDEUVD-2026-62676 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-06-23 https://github.com/grokability/snipe-it GHSA-mr8g-2mj4-pcq2
5.9
CVSS 3.1 · Vendor: https://github.com/grokability/snipe-it
Share

Severity by source

Vendor (https://github.com/grokability/snipe-it) PRIMARY
5.9 MEDIUM
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N
vuln.today AI
6.8 MEDIUM

Network-accessible brute force requires prior password possession (PR:L) and statistical guessing (AC:H); integrity elevated to High because attackers can permanently disable 2FA on accounts or clear other users' 2FA secrets.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (https://github.com/grokability/snipe-it).

CVSS VectorVendor: https://github.com/grokability/snipe-it

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Source Code Evidence Fetched
Jun 23, 2026 - 23:01 vuln.today
Analysis Generated
Jun 23, 2026 - 23:01 vuln.today

DescriptionCVE.org

Impact

POST /two-factor had no rate limiting, lockout, or attempt counter. An attacker with valid credentials can submit unlimited TOTP guesses. The TOTP implementation accepts the current code plus one step on either side (config/google2fa.php window=1), so at any instant 3 of 1,000,000 codes are accepted.

After a correct guess the attacker holds a fully authenticated session. If the instance is configured with 2FA in optional mode (two_factor_enabled='1'), the attacker can additionally disable 2FA via POST /account/profile with two_factor_optin=0. No OTP re-verification is required. The account is then accessible with the password alone on future logins. If 2FA is in required-for-all mode (='2'), the per-user opt-out path is closed and the impact stops at session-level account takeover. For an admin target, POST /api/v1/users/two_factor_reset additionally clears another user's 2FA secret.

Patches

Patched in v8.6.0

AnalysisAI

Unrestricted TOTP brute-forcing on Snipe-IT versions prior to 8.6.0 allows an attacker holding valid password credentials to bypass two-factor authentication by submitting unlimited guesses against the POST /two-factor endpoint, which enforces no rate limit, lockout, or attempt counter. With the google2fa window configured at 1, three of one million possible codes are valid at any instant, making statistical exhaustion feasible via scripted requests. Successful exploitation yields full session-level account takeover; in optional-2FA deployments the attacker can additionally call POST /account/profile to permanently disable 2FA with no re-verification, and admin-privileged attackers can clear other users' 2FA secrets via POST /api/v1/users/two_factor_reset. No public exploit has been identified at time of analysis.

Technical ContextAI

Snipe-IT is an open-source IT asset management application built on PHP and the Laravel framework, distributed as the Composer package snipe/snipe-it (CPE: pkg:composer/snipe_snipe-it). The vulnerability is rooted in CWE-770 (Allocation of Resources Without Limits or Throttling): the POST /two-factor handler processes TOTP submissions without any server-side throttle, attempt counter, or account lockout. The TOTP library in use is google2fa, configured in config/google2fa.php with window=1, which extends acceptance to the previous and next 30-second code windows in addition to the current one, yielding three simultaneously valid codes across the 1,000,000-code space. This results in a 3-in-1,000,000 acceptance probability per attempt. Because no ceiling is placed on attempts, the expected number of requests to succeed is roughly 333,333 - a volume easily achievable by an automated script over a normal network connection.

RemediationAI

Upgrade to Snipe-IT v8.6.0, the vendor-confirmed patched release documented in GitHub Advisory GHSA-mr8g-2mj4-pcq2 (https://github.com/grokability/snipe-it/security/advisories/GHSA-mr8g-2mj4-pcq2). For deployments that cannot immediately upgrade, implement request rate limiting at the reverse proxy or web server layer targeting the POST /two-factor endpoint - for example, using nginx limit_req or a Laravel rate-limiting middleware - configured to allow no more than 5-10 attempts per IP per minute, noting that IP-based controls can be partially bypassed via distributed source addresses and may affect legitimate users on shared egress IPs. Additionally, consider switching the instance from optional 2FA mode (two_factor_enabled='1') to required mode (='2') to close the POST /account/profile opt-out path and prevent permanent 2FA removal if an attacker succeeds in the brute force. Restricting the Snipe-IT web interface to trusted internal network ranges via firewall rules eliminates the network-accessible attack surface entirely and is the highest-confidence interim control.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

Share

CVE-2026-49870 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy