Программное обеспечение OpenReception для записи на прием предоставляет платформу для записи на прием со сквозным шифрованием. До версии 1.0.2 TENANT_ADMIN может хранить URL-адреса javascript: в конфигурации ссылок арендатора («веб-сайт», «выходные данные», «privacyStatement»). Эти значения возвращаются на целевую страницу, ориентированную на пациента, через `/api/public`, гидратируются в компоненте SvelteKit Button и отображаются как элементы `<a href="javascript:...">` без фильтрации URL-схемы.
Пациент, который нажимает на любую такую ссылку, выполняет JavaScript злоумышленника внутри источника браузера пациента, где данные формы пациента считываются до применения шифрования на стороне клиента. Это нарушает центральное утверждение проекта о том, что сервер является ненадежным ретранслятором и что администраторы не могут читать данные пациентов. Шифрование на стороне пациента происходит после ввода формы, поэтому JavaScript, выполняющийся в источнике пациента, может прочитать или изменить открытый текст до выполнения шифрования.
Версия 1.0.2 устраняет проблему.
Показать оригинальное описание (EN)
OpenReception's appointment booking software provides an end-to-end encrypted appointment booking platform. Prior to version 1.0.2, a TENANT_ADMIN can store `javascript:` URLs in the tenant `links` configuration (`website`, `imprint`, `privacyStatement`). These values are returned to the patient-facing landing page via `/api/public`, hydrated into the SvelteKit Button component, and rendered as `<a href="javascript:...">` elements without URL-scheme filtering. A patient who clicks any such link executes the attacker's JavaScript inside the patient browser origin, where patient form data is read before client-side encryption is applied. This breaks the project's central trust claim that the server is an untrusted relay and that administrators cannot read patient data. Patient-side encryption happens after form input, so JavaScript executing in the patient origin can read or alter the plaintext before encryption is performed. Version 1.0.2 fixes the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1