Ad

CVE-2026-48085

CRITICAL CVSS 3.1: 9,8 EPSS 0.55%
Обновлено 7 августа 2026
OpenReception
Параметр Значение
CVSS 9,8 (CRITICAL)
Устранено в версии 1.0.1
Тип уязвимости CWE-862 (Отсутствие авторизации)
Поставщик OpenReception
Публичный эксплойт Нет

Программное обеспечение OpenReception для записи на прием предоставляет платформу для записи на прием со сквозным шифрованием. До версии 1.0.1 полностью подготовленный экземпляр OpenReception принимает неаутентифицированные запросы POST к `/setup/create-admin-account` и создает дополнительные учетные записи GLOBAL_ADMIN без проверки наличия администратора. Любой неаутентифицированный сетевой злоумышленник, который может отправить форму POST того же происхождения, получает полный административный контроль на уровне платформы.

Вновь созданная учетная запись имеет тип `is_active=true` с `confirmation_state=ACCESS_GRANTED` и не требует подтверждения по электронной почте; строка GLOBAL_ADMIN создается активной и может быть немедленно использована. Вход в систему и перечисление клиентов выполняются без какого-либо дальнейшего взаимодействия. Это отличается от состояния гонки развертывания, уже описанного на странице «Заявка на экземпляр».

Эта задокументированная гонка охватывает период между развертыванием и первой заявкой. Сообщаемая здесь ошибка работает после того, как оператор правильно запросил и настроил экземпляр: защита уровня макета, которая защищает страницу настройки, перенаправляет только GET, в то время как обработчик действия формы `default` создает пользователя без повторной проверки `adminExists()`. Во время тестирования последовательно были созданы три учетные записи GLOBAL_ADMIN, при этом ограничения скорости не наблюдалось.

Регистрация событий, связанных с аудитом, помимо стандартных журналов приложений, не оценивалась; стандартная строка `[error]`, которая появляется только при возникновении конфликта уникальности, не совпадает с событием безопасности для «дополнительного администратора, созданного после утверждения». Сообщение формы отклоняется для CSRF на основе браузера встроенной проверкой того же источника в SvelteKit, но любой инструмент, который предоставляет соответствующий заголовок Origin (curl, Burp, автоматические сканеры, серверные прокси), тривиально обходит это. Никаких дополнительных предпосылок не существует.

Чтобы получить исправление, пользователям следует обновиться до версии 1.0.1.

Показать оригинальное описание (EN)

OpenReception's appointment booking software provides an end-to-end encrypted appointment booking platform. Prior to version 1.0.1, a fully provisioned OpenReception instance accepts unauthenticated POST requests to `/setup/create-admin-account` and creates additional GLOBAL_ADMIN accounts without verifying that an admin already exists. Any unauthenticated network attacker who can submit a same-origin form POST gains full platform-level administrative control. The newly created account is `is_active=true` with `confirmation_state=ACCESS_GRANTED` and does not require completing email confirmation; the GLOBAL_ADMIN row is created active and immediately usable. Login and tenant enumeration succeed without any further interaction. This is distinct from the deployment race condition already documented on the `Claiming an instance` page. That documented race covers the window between deployment and first claim. The bug reported here works after the operator has properly claimed and configured the instance: the layout-level guard that protects the setup page only redirects on GET, while the `default` form action handler creates the user without rechecking `adminExists()`. Three GLOBAL_ADMIN accounts were created in succession during testing, with no rate limiting observed. Audit-specific event logging beyond standard application logs was not assessed; the standard `[error]` line that surfaces only when a uniqueness conflict is hit is not the same as a security event for "additional admin created post-claim". The form post is rejected for browser drive-by CSRF by SvelteKit's built-in same-origin check, but any tool that supplies a matching `Origin` header (curl, Burp, automated scanners, server-side proxies) bypasses this trivially. No additional preconditions exist. Users should upgrade to version 1.0.1 to receive a patch.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1