
DifuseHQ Kalmia CMS версии 0.2.0 содержит уязвимость неправильного контроля доступа в конечной точке API /kal-api/auth/users. Из-за недостаточной проверки разрешений и чрезмерного раскрытия данных в бэкенде аутентифицированный пользователь с базовыми правами чтения может получить конфиденциальную информацию обо всех пользователях платформы.
CVE ID: CVE-2025-65900
Продукт: DifuseHQ Kalmia CMS
Затронутая версия: 0.2.0
Тип уязвимости: Некорректный контроль доступа
Необходимые привилегии: Низкие (учётная запись только для чтения)
Эта уязвимость позволяет пользователю с низкими привилегиями получать конфиденциальную информацию всех учётных записей платформы, включая хеши паролей Blowfish. Злоумышленники могут выполнять офлайн-взлом, повышать привилегии и потенциально скомпрометировать учётные записи администраторов, что приведёт к полному захвату системы.
Ожидает одобрения мейнтейнера — https://github.com/DifuseHQ/Kalmia/pull/34
DifuseHQ Kalmia CMS версии 0.2.0 содержит уязвимость некорректного контроля доступа в конечной точке API /kal-api/auth/users. Из-за недостаточной проверки разрешений и чрезмерного раскрытия данных в бэкенде аутентифицированный пользователь с базовыми правами на чтение может получить конфиденциальную информацию всех пользователей платформы, включая хеши паролей Blowfish. Эта ошибка позволяет несанкционированное раскрытие учётных данных и даёт возможность проводить офлайн-атаки полным перебором, что потенциально ведёт к компрометации всех учётных записей. Проблема возникает из-за некорректных проверок авторизации в middleware/auth.go и нефильтрованных данных пользователей, возвращаемых web/src/api/Requests.ts.
/kal-api/auth/jwt/create/kal-api/auth/usersПриложение не выполняет должную очистку конфиденциальной информации и не блокирует доступ к чувствительным конечным точкам. Пользователи с минимальными правами только для чтения могут:
Злоумышленник начинает с легитимной учётной записи только для чтения в системе Kalmia CMS.
Злоумышленник входит в систему, используя свои учётные данные только для чтения через стандартный механизм аутентификации.
Используя такие инструменты, как Burp Suite, злоумышленник обращается к маршруту API /kal-api/auth/users и просматривает информацию доступа всех пользователей.
Извлечённые хеши паролей затем обрабатываются с помощью инструментов взлома паролей, таких как hashcat, для восстановления паролей в открытом виде.
Успешно взломанные пароли предоставляют полный доступ к учётным записям пользователей, включая потенциально административные.
Скрипт cve-2025-65900.py автоматизирует процесс эксплуатации:
python cve-2025-65900.py <TARGET_URL> -u <READ_ONLY_USERNAME> -p <READ_ONLY_PASSWORD>
url: Базовый URL целевой Kalmia CMS (обязательный)-u, --user: Имя пользователя только для чтения (обязательный)-p, --password: Пароль пользователя только для чтения (обязательный)-t, --token-endpoint: Конечная точка получения JWT-токена (по умолчанию: /kal-api/auth/jwt/create)-d, --dump: Конечная точка дампа пользователей (по умолчанию: /kal-api/auth/users)-a, --auth: Пропустить генерацию токена и использовать предоставленный JWT-токен-o, --output: Сохранить извлечённые хеши в файл# Базовая эксплуатация
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass
# Сохранение хешей в файл
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass -o hashes.txt
# Использование существующего JWT-токена
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass -a "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
Отказ от ответственности: Эта информация предоставляется исключительно в образовательных и защитных целях. Пользователи несут ответственность за получение соответствующих разрешений перед тестированием любых систем.