Katalog CVE

CVE-2026-48081

WysokieCVSS 8.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.14%

Percentyl 4 - wyżej niż 4% wszystkich znanych CVE

Streszczenie

Przed wersją 1.0.2 oprogramowania OpenReception do rezerwacji wizyt, administrator dzierżawy (TENANT_ADMIN) może zapisać adresy URL `javascript:` w konfiguracji linków (`website`, `imprint`, `privacyStatement`). Te wartości są zwracane na stronę pacjenta przez `/api/public`, osadzane w komponencie SvelteKit Button i renderowane jako `<a href="javascript:...">` bez filtrowania schematu URL. Kliknięcie takiego linku przez pacjenta powoduje wykonanie skryptu atakującego w przeglądarce pacjenta, gdzie dane formularza są odczytywane przed szyfrowaniem po stronie klienta.

Ocena ryzyka

Narusza to centralne założenie projektu, że serwer jest niezaufanym przekaźnikiem i administratorzy nie mogą czytać danych pacjentów. Atakujący może przechwycić lub zmienić dane pacjenta przed szyfrowaniem, co prowadzi do wycieku wrażliwych informacji medycznych.

Rekomendacja

Zaktualizuj OpenReception do wersji 1.0.2 lub nowszej, która zawiera poprawkę. Dodatkowo, jako środek zapobiegawczy, rozważ filtrowanie schematów URL na poziomie serwera.

Inne podatności w OpenReception

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS