CVE-2026-78619 in Punk-Plugin-TOTP
Сводка
по VulDB • 26.08.2026
В версиях Punk::Plugin::TOTP до 0.05 для Perl принимается код восстановления от другой учетной записи при проверке двухфакторной аутентификации, поскольку функция totp_use_recovery сравнивает идентификаторы пользователей численно.
Помощник ищет в модели восстановления только дайджест предоставленного кода во всех строках всех пользователей, поэтому проверка принадлежности (ownership test), которая выполняется далее, является единственным механизмом, связывающим код с учетной записью, для которой он был выдан. Эта проверка сравнивает user_id строки с идентификатором пользователя, проходящего проверку, используя приведение к целому числу в Perl; если у идентификатора нет ведущих цифр (например, это строка), то при приведении получается ноль, поэтому любые два таких идентификатора считаются равными. Модели пользователей, использующие имя пользователя, адрес электронной почты или UUID в качестве ключа, попадают под этот сценарий, тогда как числовой ключ сравнивается корректно.
Маршрут проверки передает предоставленное значение помощнику после того, как проверка TOTP завершается неудачей; таким образом, злоумышленник, знающий пароль жертвы и имеющий собственный код восстановления, может пройти второй фактор аутентификации жертвы.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.