Snipe-IT CVE-2026-49870
MEDIUMSeverity by source
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N
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.
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N
Lifecycle Timeline
2DescriptionGitHub Advisory
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. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | The attacker must already possess valid password credentials for a target Snipe-IT account (CVSS PR:L confirmed by the provided vector). … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The vendor-assigned CVSS 3.1 score of 5.9 (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N) reflects a medium severity, constrained by AC:H (probabilistic brute force required) and PR:L (valid password credentials are a prerequisite). … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | An attacker who has obtained a Snipe-IT user's password through credential stuffing or phishing writes a script that cycles through TOTP codes against `POST /two-factor` without triggering any server-side lockout; because no rate limiting exists, the script can submit thousands of guesses per minute until one of the three currently valid codes is matched. Once authenticated, the attacker on an optional-2FA instance immediately issues `POST /account/profile` with `two_factor_optin=0` to permanently remove 2FA from the account, ensuring all future logins require only the password regardless of whether the original TOTP device is later secured. |
| Remediation | 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). … Detailed patch versions, workarounds, and compensating controls in full report. |
Threat intelligence, references, and detailed analysis are available after sign-in.
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
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
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
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
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
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
Same technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
GHSA-mr8g-2mj4-pcq2