Appointment booking addon for Gravity Forms < 1.10.0 - Reflected XSS

Aug 21, 2023

CVE Number

CVE-2023-2705

Credits

Carlos Garrido of Pentraze Cybersecurity

Summary

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.

CVSS

7.1 (High) - CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L

Details

  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.

Services

Penetration Testing

Proactive assessment using tactics, techniques, and procedures of actual attackers to identify security flaws, incorrect configurations, and vulnerabilities.

Learn more

Application Security Testing

Comprehensive application protection, ensuring robust security throughout the entire software development lifecycle.

Learn more

Red Team Exercises

Simulate and emulate advanced cyber attacks to pinpoint vulnerabilities and test your organization's defense mechanisms, ensuring robust resilience against real-world threats.

Learn more

Vulnerability Management

Proactive process to identify, prioritize, and address security vulnerabilities in systems and software, enhancing an organization's defense against evolving cyber threats.

Learn more