CVE-2026-49870
Snipe-IT's TOTP is Brute-Forceable Due to Missing Rate Limiting on `POST /two-factor`
Impact
Snipe-IT is an IT asset/license management system. Prior to 8.6.1, POST /two-factor has no rate limiting, lockout, or attempt counter, allowing an attacker with valid credentials to submit unlimited TOTP guesses against the three accepted codes created by config/google2fa.php window=1. A successful guess creates a fully authenticated session. When two_factor_enabled is 1, POST /account/profile with two_factor_optin=0 can disable two-factor authentication without OTP reverification, while required mode 2 prevents that opt-out. An administrator can also use POST /api/v1/users/two_factor_reset to clear another user's secret. This issue is fixed in version 8.6.1.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| composer | snipe/snipe-it | < 8.6.0 | 8.6.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Snipeitapp | Snipe-It | before 8.6.1 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-mr8g-2mj4-pcq2
- https://github.com/grokability/snipe-it/security/advisories/GHSA-mr8g-2mj4-pcq2
- https://github.com/grokability/snipe-it/commit/46d5234fd73d5fb928af43eb67d3bf7643d53115
- https://github.com/grokability/snipe-it/pull/19072
- https://github.com/grokability/snipe-it/releases/tag/v8.6.1