CVE-2025-25749-Слабая-политика-паролей-в-HotelDruid-3.0.7
Описание
Уязвимость в HotelDruid версии 3.0.7 и более ранних позволяет пользователям устанавливать слабые пароли из-за отсутствия контроля политики сложности паролей.
Последствия
- Принимаются слабые пароли: Злоумышленники могут с высокой вероятностью угадать простые пароли или использовать атаки с перебором учётных данных (credential stuffing).
- Риск повторного использования учётных данных: Если пользователи применяют одни и те же пароли на разных системах, злоумышленники могут использовать скомпрометированные учётные данные.
- Отсутствие срока действия пароля: Возможна частая смена пароля для избежания обнаружения.
- Увеличенная поверхность атаки: В сочетании с уязвимостями, такими как отражённый XSS (CVE-2025-25747), это упрощает получение начальной точки проникновения.
Сводка рисков
Отсутствие базовых мер контроля безопасности паролей подрывает общую безопасность HotelDruid и делает учётные записи пользователей — включая административные — крайне уязвимыми для компрометации.
Доказательство концепции (PoC)
Примеры тестовых случаев (прямые доказательства)
Случай 1 — Принимается слабый пароль
- Действие: Установить пароль
12345.
- Результат: Принято без предупреждения.
Случай 2 — Принимается распространённый пароль
- Действие: Установить пароль
admin.
- Результат: Принято без предупреждения.
Случай 3 — Повторное использование предыдущего пароля
- Действие: Установить пароль
password, сменить его на password123, затем снова на password.
- Результат: Повторно используемый пароль принят без ограничений.
Случай 4 — Частая смена пароля
- Действие: Сменить пароль 5 раз в течение минуты.
- Результат: Все изменения разрешены без каких-либо ограничений.
Автоматизированный тестовый скрипт
Был разработан специальный скрипт для автоматизации этих проверок, который подтверждает:
- Отсутствие требований к сложности.
- Отсутствие минимальной длины.
- Отсутствие проверки истории паролей.
- Отсутствие ограничений на минимальный возраст пароля.
Этот скрипт может быть предоставлен по запросу.
Анализ
Предыстория
HotelDruid — популярное программное обеспечение для управления объектами недвижимости с открытым исходным кодом, используемое для обработки бронирований отелей и аренды, выставления счетов и управления клиентами. Оно развёртывается как локально, так и онлайн, поэтому безопасность учётных записей имеет решающее значение, особенно для административных пользователей, имеющих доступ к финансовым данным и информации о клиентах.
Современные веб-приложения должны обеспечивать как минимум базовые политики паролей, чтобы снизить риск атак, основанных на учётных данных. Приложения, допускающие слабые пароли, напрямую подрывают собственную безопасность, делая все другие меры защиты менее эффективными.
Детали уязвимости
Эта уязвимость обусловлена полным отсутствием каких-либо значимых требований к паролям в HotelDruid версии 3.0.7. При создании пользователя, смене пароля и управлении учётными записями администратора приложение допускает:
- Чрезвычайно слабые пароли (например,
12345, aaaaa, password).
- Распространённые пароли, используемые во многих сервисах.
- Отсутствие требований к длине пароля.
- Повторное использование ранее использованных паролей.
- Быструю и неограниченную смену паролей за короткие промежутки времени.
- Отсутствие обратной связи с пользователем о надёжности пароля.
Сценарии атак
- Атака методом грубой силы: Злоумышленники могут с очень высокой вероятностью перебирать распространённые пароли для учётных записей пользователей.
- Подбор учётных данных (Credential stuffing): Если пользователь повторно использует скомпрометированный пароль от другого сервиса, он может быть использован для получения доступа к HotelDruid.
- Поддержка повышения привилегий: После компрометации учётной записи с низкими привилегиями злоумышленники могут попытаться повысить привилегии до административной учётной записи с помощью дополнительных атак.
- Комбинированная атака: В сочетании с другими уязвимостями (например, CVE-2025-25747) это обеспечивает лёгкую точку входа для злоумышленников.
Смягчение / Устранение
Рекомендации
Внедрение требований к сложности пароля
Обязательно включать:
- хотя бы одну заглавную букву;
- хотя бы одну строчную букву;
- хотя бы одну цифру;
- хотя бы один специальный символ;
- минимальную длину 8 символов.
Внедрение ограничений на историю паролей
- Запретить повторное использование последних 5 паролей.
Установка минимального возраста пароля
- Требовать не менее 24 часов между сменами пароля, чтобы предотвратить частую смену.
Обратная связь в реальном времени о надёжности пароля
- Предоставлять пользователям обратную связь при создании или смене пароля, помогая им понять его надёжность.
Проверка учётных данных администратора по умолчанию
- Аудит и внедрение строгих учётных данных для административных учётных записей при начальной установке.
Дополнительные улучшения (опционально)
- Рассмотреть возможность интеграции внешних провайдеров аутентификации (SSO, LDAP).
- Настоятельно рекомендовать многофакторную аутентификацию (MFA), если это возможно.
Хронология и признание заслуг
- Дата обнаружения: 16 января 2025 г.
- Уведомление поставщика: 17 января 2025 г.
- Назначение CVE (MITRE): CVE-2025-25747, 27 февраля 2025 г.
- Публичное раскрытие: 7 марта 2025 г.
- Исследователь: Huy Vo (специалист по безопасности)