Appointment Booking Calendar <= 1.4.05 - Authenticated (Subscriber+) Stored Cross-Site Scripting via 'vs_text_submitbtn' Parameter
Impact
The Appointment Booking Calendar plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'vs_text_submitbtn' parameter in all versions up to, and including, 1.4.05 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires the attacker to be assigned as a calendar owner, a per-user grant that any administrator can extend to users as low as Subscriber level through…
Source excerpt · WordfenceThis requires the attacker to be assigned as a calendar owner, a per-user grant that any administrator can extend to users as low as Subscriber level through the plugin's calendar list screen. Exploitation by attackers with subscriber-level access and above requires that an administrator has assigned the attacker's account as owner (conwer) of a calendar via the plugin's calendar list screen; the plugin's UI lists all registered users regardless of role, so a Subscriber can be assigned. On a default installation, where that is not configured, the vulnerability requires attackers with editor-level access and above.
Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
codepeople · Appointment Booking Calendar
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 0 through 1.4.05 (inclusive) | affected |
Original source description
The Appointment Booking Calendar plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'vs_text_submitbtn' parameter in all versions up to, and including, 1.4.05 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires the attacker to be assigned as a calendar owner, a per-user grant that any administrator can extend to users as low as Subscriber level through the plugin's calendar list screen. Exploitation by attackers with subscriber-level access and above requires that an administrator has assigned the attacker's account as owner (conwer) of a calendar via the plugin's calendar list screen; the plugin's UI lists all registered users regardless of role, so a Subscriber can be assigned. On a default installation, where that is not configured, the vulnerability requires attackers with editor-level access and above.
References
- Security advisory www.wordfence.com/threat-intel/vulnerabilities/id/dd0e4753-222a-421f-a830-58f6af055dd8
- Source reference plugins.trac.wordpress.org/browser/appointment-booking-calendar/tags/1.4.05/inc/cpabc_scheduler.inc.php
- Source reference plugins.trac.wordpress.org/browser/appointment-booking-calendar/tags/1.4.05/inc/cpabc_apps_go.inc.php
- Source reference plugins.trac.wordpress.org/browser/appointment-booking-calendar/tags/1.4.05/inc/cpabc_apps_go.inc.php
- Source reference plugins.trac.wordpress.org/browser/appointment-booking-calendar/tags/1.4.05/inc/cpabc_apps_go.inc.php
- Source reference plugins.trac.wordpress.org/browser/appointment-booking-calendar/tags/1.4.05/inc/cpabc_apps_on.inc.php
- Source reference plugins.trac.wordpress.org/log/appointment-booking-calendar/
- Patch plugins.trac.wordpress.org/changeset/3750835/appointment-booking-calendar/trunk/inc/cpabc_scheduler.inc.php