HexBrain

Uber · Report #126374

Uploading Plain Text to uber-documents.s3.amazonaws.com Through the Driver Document Upload Page

Informativestatus
1upvotes
13 Jun 2016disclosed

How it was found

Hi,

When a new driver is registering on Uber, they have to upload a variety of files (proof of insurance, ID, etc). When these files are being uploaded, Uber.com only checks whether the files have the correct extension. This means that one can upload a plain text file with a .png extension and it will be rendered as plain text when viewed in Internet Explorer.

At first I was attempting to get js execution with this (similar to how I did #126197), but that is not possible. When the file extension (.png in our case) and the MIME type (image/png) match, Internet Explorer will not render it as HTML, it is only willing to render it as plain text. This still opens up a possibility of a fishing attach by doing something like this:

https://uber-documents.s3.amazonaws.com/f7e83fb2-a309-4845-a038-8cb3846a0f0d.png?Signature=eQwYlK31HVRqaHN%2FdvaImVEDQuI%3D&Expires=1459110446&AWSAccessKeyId=AKIAIQSUTKT5KJFDBULQ

While this is not as bad as JS execution, I believe that this still qualifies as a vulnerability. In all other image upload forms (e.g. profile picture upload), Uber carefully checks that the image is valid before accepting it and hosting it. In this case, Uber fails to do so.

Thanks, David Dworken

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