Gửi #870664: OpenSourcePOS <=3.4.2 Improper Restriction of Excessive Authentication Attemptsthông tin

tiêu đềOpenSourcePOS <=3.4.2 Improper Restriction of Excessive Authentication Attempts
Mô tảOpenSourcePOS authenticates users through the Login::index() controller action, which applies a single custom validation rule (login_check) to the submitted credentials. The application implements no protection against repeated failed authentication attempts: there is no failed-attempt counter, no temporary or permanent account lockout, and no per-IP or per-account rate limiting anywhere in the login path. An attacker can therefore submit an unlimited number of username/password combinations at machine speed. The only optional mitigation is Google reCAPTCHA, which is disabled by default (the setting gcaptcha_enable is absent from the shipped default configuration and must be enabled manually in the database). In a default deployment the login endpoint has neither CAPTCHA nor rate limiting, and /login is additionally excluded from CSRF protection (app/Config/Filters.php: 'csrf' => ['except' => 'login|migrate']), so credential-guessing requests need no token. Even when an administrator enables reCAPTCHA, the validation logic in OSPOSRules::login_check() verifies the password before the CAPTCHA. When the password is wrong, the function returns immediately and the CAPTCHA branch is never reached. Consequently: - Wrong-password attempts never consume or require a valid CAPTCHA token, so the CAPTCHA does not throttle guessing. - The server returns invalid_username_and_password for a wrong password but invalid_gcaptcha once the password is correct (and a valid token is absent). This observable response discrepancy is a credential-validity oracle: an attacker can determine the correct password without solving the CAPTCHA, by watching which error is returned. The net effect is that an attacker can enumerate valid credentials offline. With CAPTCHA disabled (default), a correct guess additionally grants an authenticated session directly (HTTP 302 redirect to /home).
Nguồn⚠️ https://github.com/opensourcepos/opensourcepos/issues/4583
Người dùng
 ZAST.AI (UID 87884)
Đệ trình26/06/2026 10:24 (cách đây 2 các tháng)
Kiểm duyệt14/08/2026 20:52 (2 months later)
Trạng tháiđược chấp nhận
Mục VulDB390085 [opensourcepos Open Source Point of Sale đến 3.4.2 Login Endpoint app/Config/Filters.php Login::index tiết lộ thông tin]
điểm20

Interested in the pricing of exploits?

See the underground prices here!