Cal.com (repozytorium calcom/cal.diy) w wersjach do 4.7.15 włącznie jest podatne na cross-site scripting (XSS) w publicznie dostępnym widoku rezerwacji. Atakujący może wstrzyknąć dowolny kod HTML/JavaScript, który zostanie wykonany w przeglądarce ofiary odwiedzającej stronę rezerwacji.
▸ Pokaż oryginał (EN)
Cal.com (repository calcom/cal.diy) in versions <= 4.7.15 is vulnerable to cross-site scripting (XSS) on the publicly accessible single booking view (e.g., /booking/<id>). Booking question (form field) labels are rendered via React's dangerouslySetInnerHTML without proper input sanitization or CSP, so an attacker who can create an event type with a malicious booking question label can inject arbitrary HTML/JavaScript that executes when a victim visits the booking view URL. Self-hosted instances with open registration are particularly at risk. The issue is fixed in version 4.7.16.
Etykiety pytań formularza rezerwacji są renderowane przy użyciu mechanizmu React dangerouslySetInnerHTML bez odpowiedniego oczyszczania danych wejściowych ani polityki Content Security Policy (CSP). Atakujący posiadający konto z możliwością tworzenia typów wydarzeń może zdefiniować złośliwą etykietę pytania rezerwacji zawierającą payload JavaScript. Gdy ofiara odwiedzi publiczny adres URL widoku rezerwacji (np. /booking/<id>), złośliwy kod zostaje automatycznie wykonany w kontekście jej przeglądarki. Instancje self-hosted z otwartą rejestracją są szczególnie narażone, ponieważ każdy może założyć konto i utworzyć złośliwy typ wydarzenia.
Atakujący może wykonać dowolny kod JavaScript w sesji ofiary, co umożliwia kradzież danych sesji, przejęcie konta, wyświetlanie fałszywych treści lub wykonanie dalszych działań w kontekście zalogowanego użytkownika. Wysoka ocena wpływu na systemy powiązane (SC:H, SI:H) wskazuje na potencjalne ryzyko lateral movement w obrębie infrastruktury.
Należy zaktualizować Cal.com cal.diy do wersji 4.7.16, w której problem został naprawiony. Dodatkowo zaleca się wyłączenie otwartej rejestracji na instancjach self-hosted, jeśli nie jest ona niezbędna, oraz wdrożenie odpowiedniej polityki Content Security Policy (CSP).
Cal.com cal.diy (repozytorium calcom/cal.diy) w wersjach 4.7.15 i wcześniejszych, w szczególności instancje self-hosted z włączoną otwartą rejestracją.
Poprawka dostępna w wersji 4.7.16. Szczegóły techniczne oraz commit naprawiający podatność opublikowane zostały w repozytorium GitHub calcom/cal.diy pod adresem: github.com/calcom/cal.diy/commit/00689fda0a30b8f933c096f02c1fe092a4206def.
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X