CVE-2024-58353: Cal.com through 4.7.15 Cross-Site Scripting via booking questions
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.
Security readout for executives and security teams
Plain-English summary
A low-privileged attacker who can create an event type can place malicious content in a booking-question label. When another person opens the public booking page, attacker-controlled JavaScript can run in that visitor’s browser. This creates serious confidentiality and integrity risk, particularly for self-hosted Cal.com installations allowing open registration.
Executive priority
Treat as an urgent remediation for exposed or multi-user deployments. The vulnerability crosses a public-page trust boundary and can affect visitors, while open registration broadens attacker access. Upgrade promptly and temporarily restrict content creation where immediate patching is impossible.
Technical view
Cal.com cal.diy through version 4.7.15 renders booking-question labels using React dangerouslySetInnerHTML without adequate sanitization or CSP protection. The resulting stored cross-site scripting affects publicly accessible single-booking views. Exploitation requires event-type creation privileges and a victim visiting the affected page. Version 4.7.16 contains the fix.
Likely exposure
Exposure is likely where cal.diy 4.7.15 or earlier is deployed and untrusted users can create event types. Self-hosted instances with open registration face particular risk. Instances already running 4.7.16 or later are not described as affected by the supplied sources.
Exploitation context
The CVSS 4.0 score is 9.3. Attack complexity is low, but exploitation requires low privileges and victim interaction. The supplied bundle states this CVE is not in KEV and provides no other evidence of active exploitation; real-world exploitation status is therefore unconfirmed.
Researcher notes
This is stored XSS associated with CWE-80. The relevant data flow is an event creator’s booking-question label into the public single-booking view. The source bundle attributes the flaw to unsanitized dangerouslySetInnerHTML rendering and absent CSP protection. The patch commit is available, but the bundle provides no confirmed exploitation telemetry.
Mitigation direction
Upgrade affected Cal.com cal.diy deployments to version 4.7.16 or later.
Restrict event-type creation and disable open registration until upgrading.
Review vendor guidance and the patch commit before applying compensating controls.
Prioritize internet-accessible and multi-user self-hosted instances.
Validation and detection
Inventory all Cal.com cal.diy deployments and record their installed versions.
Confirm each deployment runs version 4.7.16 or later.
Identify whether untrusted users can register or create event types.
Review existing booking-question labels for unexpected HTML or script-like content.
Verify public booking views enforce the corrected label-rendering behavior after upgrading.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-80: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-80 · source CWE mapping
Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)
Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS) represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.