Epic games : Stored XSS and WAF bypass in marketplace project on https://www.artstation.com

 Company Information : 


Epic Games, Inc. is an American video game and software developer and publisher based in Cary, North Carolina. The company was founded by Tim Sweeney as Potomac Computer Systems in 1991, originally located in his parents' house in Potomac, Maryland.



Bug Category : 

Stored Cross-site-scripting (XSS) :
Cross-site scripting (XSS) is an attack in which an attacker injects malicious executable scripts into the code of a trusted application or website. Attackers often initiate an XSS attack by sending a malicious link to a user and enticing the user to click it.


Target  Information : 

https://www.artstation.com



Technical Details of the Bug : 

In the manage portfolio section you can add projects. In the project you can add video clips . Once you upload the Video Clip , it will be added into API URL.After that you will get option to add these videos and These video clips are finally embedded into iframe on the main project page on marketplace. After uploading a a video clip there is option of adding a video clip the project.(The request is mentioned below). in the Request URL parameter is directly embedded into the iframe section on the project. The URL Parameter is vulnerable and Accepting any URL including javascript and data protocols. This leads to include embed 3rd party scripts/html pages instead of video clip which leads to execute javascript into the art station project page on marketplace. Since Javascript and data protocols are working , it leads to direct Stored XSS on Art Station.


Vulnerable HTTP Request :

POST /project_assets/video_clips.json HTTP/1.1 2Host: www.artstation.com 3Cookie: cookies 4User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:94.0) Gecko/20100101 Firefox/94.0 5Accept: application/json, text/plain, */* 6Accept-Language: en-US,en;q=0.5 7Accept-Encoding: gzip, deflate 8X-Csrf-Token: 9Public-Csrf-Token: 10Content-Type: application/json 11Content-Length: 289 12Origin: https://www.artstation.com 13Referer: https://www.artstation.com/community/projects/1411nG/edit 14Sec-Fetch-Dest: empty 15Sec-Fetch-Mode: cors 16Sec-Fetch-Site: same-origin 17Te: trailers 18Connection: close 19 20{"video_clip":{"uuid":"fa2ce322-31a3-4728-b59e-300136879fce","url":"https://www.artstation.com/api/v2/animation/video_clips/fa2ce322-31a3-4728-b59e-300136879fce/embed.html","width":640,"height":640,"thumbnail_url":"https://cdn-animation.artstation.com/p/thumbnails/000/523/197/thumb.jpg"}}


Vulnerable parameter : url

WAF Bypass :

Since there is a cloud flare WAF protection. Normal javascript and data payloads wouldn't work. After spending lot of time i found bypass to the cloud flare and successfully executed the Stored XSS. Payload used :
javascript:top[\"al\"+\"ert\"](document.domain)

Steps to reproduce :

1.Login to art station and go to manage portfolio . 2.Now create a new project. 3.Now edit the page and add a video clip. 4.Upload a video and it will ask you to add your uploaded video. 5.Add video and intercept the request. 6.You will notice that the request would look something like above mentioned request. 7.Now in the url value add the above mentioned payload used.
8.Now save the project and publish it. 9.Click on view on community and XSS will be triggered.

Screenshots :




Impact : 

Session steal of any user through Stored XSS and WAF bypass in marketplace project on https://www.artstation.com



Timeline : 



Nov 08th 2021: Report send to Epic Games Security Team through Hackerone.

Nov 10th 2021: Report Accepted and Triaged.

Nov 17th 2021: Complete issue was resolved an
d confirmed.

Nov 21th 2021: 6500$ Bounty Rewarded

Comments

Popular posts from this blog

Account Takeover Apple App Store Connect Account of Any user and Steal Developer API/Subscription Keys of any user(CORS+XSS) worth 8500$

Amazon Web Services : Takeover Workbook and delete the Owner on https://builder.honeycode.aws by collaborator user (IDOR) worth 7200$

UnAuth Access to Twitter Private Tweets and messages Media Content Access(IDOR)