AOH :: HP Unsorted S :: B06-4851.HTM

Squiz MySource Matrix Unauthorised Proxy and Cross Site Scripting



Squiz MySource Matrix Unauthorised Proxy and Cross Site Scripting
Squiz MySource Matrix Unauthorised Proxy and Cross Site Scripting



aushack.com - Vulnerability Advisory
-----------------------------------------------
Release Date:
 22-Sep-2006

Software:
 Squiz - My Source and My Source Matrix
http://www.squiz.net.au 

 "MySource Matrix is the newest version of the popular MySource CMS,
 purpose built for enterprise level installations. It boasts all the
 features of high-end systems such as highly configurable workflow,
 a powerful integrated search engine, intuitive front-end editing, true
 rollback and much more."

Versions affected:
 MySource Matrix 3.8 and below, MySource 2.x.

Vulnerability discovered:

 MySource Matrix may be used as an unauthorised HTTP proxy (and XSS).

Vulnerability impact:

 Low - An anonymous user may use the MySource based website as a proxy.
       Additionally, proxied bandwidth may be at great financial expense.
       Remote content may contain JavaScript which is client executed.

Vulnerability information

 A function of the software 'sq_remote_page_url' allows inclusion of remote
 content in the body of the website.

 Example: (wrapped)
http://www.mysource-example.com.au/$page?sq_remote_page_action fetch_url&sq_remote_page_url=http://www.google.com.au 

  ... where '$page' is a valid CMS reference, e.g. 'about_us'.

  This will return the Google website, encapsulated in the header
and footer HTML of the www.mysource-example.com.au site. 

  The remote page may contain JavaScript for XSS purposes, e.g. cookies.

  Remote PHP inclusion does not appear to be possible (returns % hex value).

  One could write a script to enable a world wide anonymous proxy array.

Solution:
 The vendor does not consider this a vulnerability. Newer versions of the
 software include a function 'sq_content_src' to hide the URL (Base64),
 in addition to use of a string whitelist to permit inclusion, for example:

if whitelist = http://www.trust-content.com/index?id=*, where * =  
ok = http://www.trust-content.com/index?id=1234 
bad = http://www.trust-content.com/index?ref=1234 

 Note that whilst the URL is Base64 encoded, this does not necessarily mean
 that whitelists are used. Future releases may be proxied via:

http://www.mysource-example.com.au/$page? 
 sq_content_src=aHR0cDovL3d3dy5nb29nbGUuY29tLmF1

References:
 aushack.com advisory
http://www.aushack.com/advisories/200607-mysourcematrix.txt 

Credit:
Patrick Webster ( patrick@aushack.com ) 

Disclosure timeline:
 27-Apr-2006 - Discovered during audit, Squiz notified shortly after.
 07-Jun-2006 - Sent security patch query to Squiz developers.
 09-Jun-2006 - Squiz response - use whitelist function.
 22-Sep-2006 - Public disclosure.

EOF

The entire AOH site is optimized to look best in Firefox® 3 on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2014 AOH
We do not send spam. If you have received spam bearing an artofhacking.com email address, please forward it with full headers to abuse@artofhacking.com.