Версии phpMyFAQ с 3.1.0 по 4.1.6 содержат уязвимость обхода аутентификации в AuthLdap::create(). Если аутентификация LDAP включена, после успешной привязки LDAP код безоговорочно вызывает User::setStatus('active'), что перезаписывает столбец account_status уже существующей локальной учетной записи с «заблокированного» на «активный». В результате пользователь, чья локальная учетная запись phpMyFAQ была заблокирована административно, может восстановить свою учетную запись и войти в систему, пройдя аутентификацию через LDAP.
Изменение состояния не протоколируется, поэтому администраторы не могут обнаружить, что блокировка была отменена. Исправлено в 4.1.7.
Показать оригинальное описание (EN)
phpMyFAQ versions 3.1.0 through 4.1.6 contain an authentication bypass vulnerability in AuthLdap::create(). When LDAP authentication is enabled, after a successful LDAP bind the code calls User::setStatus('active') unconditionally, which overwrites the account_status column of a pre-existing local account from 'blocked' to 'active'. As a result, a user whose local phpMyFAQ account has been administratively blocked can restore their account and log in by authenticating via LDAP. The state transition is not logged, so administrators cannot detect that the block was overridden. Fixed in 4.1.7.
Характеристики атаки
Последствия
Строка CVSS v4.0