6.1 Medium
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
CHANGED
Confidentiality Impact
LOW
Integrity Impact
LOW
Availability Impact
NONE
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
5.8 Medium
CVSS2
Access Vector
NETWORK
Access Complexity
MEDIUM
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
NONE
AV:N/AC:M/Au:N/C:P/I:P/A:N
0.0005 Low
EPSS
Percentile
17.0%
Description The plugin does not sanitise and escape a parameter before outputting it back in the page, leading to a Reflected Cross-Site Scripting which could be used against admin
1. Create a "Service" and a "Provider" under the "gAppointments" sidebar menu.
2. Create a new form within Gravity Forms. Add a "Booking Calendar" field to this form.
3. Add the form to a post or page, using the block or shortcode.
4. Visit the page as any user (authenticated or not). Choose an appointment slot in the booking calendar field. Submit the form, and intercept the request (e.g. with BurpSuite).
5. In the POST request, change the value of input_6[time] to be blank (note that it may be called something other than input_6 on your site.
6. Then, change the value of input_6[cost] (same caveat on the naming) to '/><img src=x onerror=alert(/XSS/)>
7. Submit the request and disable interception. See the alert, indicating XSS.
6.1 Medium
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
CHANGED
Confidentiality Impact
LOW
Integrity Impact
LOW
Availability Impact
NONE
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
5.8 Medium
CVSS2
Access Vector
NETWORK
Access Complexity
MEDIUM
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
NONE
AV:N/AC:M/Au:N/C:P/I:P/A:N
0.0005 Low
EPSS
Percentile
17.0%