
Уязвимость обхода аутентификации на основе PIN-кода в Kaiten
Kaiten — система управления рабочими процессами. Уязвимость в Kaiten позволяет злоумышленникам обойти механизм аутентификации по PIN-коду. Приложение требует от пользователей ввода 6-значного PIN-кода, отправленного на их электронную почту, для авторизации после ввода учетных данных. Однако механизм ограничения запросов можно легко обойти, что позволяет злоумышленникам выполнить атаку методом перебора для угадывания правильного PIN-кода и получить несанкционированный доступ к приложению.
Подробности:
Механизм аутентификации использует однофакторный метод с отправкой на электронную почту, без пароля :)
Обход ограничения частоты запросов может быть достигнут с помощью заголовка X-Forwarded-For, который позволяет сбросить счетчик X-RateLimit-Remaining.

Этот метод позволяет продолжать отправлять запросы, не получая ответов HTTP 429 Too Many Requests, которые обычно возникают после нескольких попыток.

Кроме того, нет ограничений на запрос нового PIN-кода => злоумышленник может угадать PIN-код с помощью атаки методом перебора. Срок действия PIN-кода — 5 минут, поэтому у злоумышленника есть 5 минут, чтобы попытаться угадать 6-значный PIN-код. При ~150 RPS злоумышленник может попробовать ~45 000 PIN-кодов. После всех попыток, согласно математическим расчетам, вероятность успеха 50% может быть достигнута за 33 минуты, а 100% — за 4 часа.
Уязвимые версии:
<= 57.131.12
Ссылки:
Просто скачайте bash-скрипт и запустите с указанным именем пользователя (только логин, не email!)
bash CVE-2024-41276.sh <input_user> <kaiten.example.com>
Результат: Успешный результат => получение действительного cookie для дальнейшего использования
