The Czech researcher Thomas Orlita discovered an XSS vulnerability in Google’s Invoice Submission Portal that would have allowed attackers access to part of Google’s internal network.
The Google Invoice Submission Portal is a public portal used by Google’s business partners to submit invoices.
An attacker could also exploit the flaw to steal Google employee cookies for internal apps and hijack accounts or send spear-phishing messages.
The attack was devised by the expert in February, and Google addressed the issue in mid-April after the researcher reported it to the tech giant.
Orlita explained that an attacker could have uploaded malformed files in the Google Invoice Submission Portal, via the Upload Invoice field.
The expert noticed that the ‘upload’ feature for actual invoice in PDF format could be abused to upload HTML files. The attacker had to intercept a request and change the uploaded file’s filename and Content-Type properties to HTML.
Using this trick it was possible to store malicious files in Google’s invoicing system and would have executed automatically when an employee tried to access it.
“Since this is just a front-end validation, it doesn’t stop us from changing the file type when sending the upload POST request. Once we select any PDF file, an upload request is fired. We can intercept the request using a web proxy debugger and change the filename and the contents from .pdf to .html.” reads the analysis published by the expert.
Orlita uploaded an HTML file including an XSS payload that, when triggered, would send him an email every time it was loaded.
This domain is used by Google for hosting internal websites and apps. If you attempt to access the domain you will be redirected to a Google Corp login page for Google employees that requires the authentication.
“The DOM of the page matches the XSS payload that was put instead of the PDF file. We can see that this URL is used for displaying a PDF file. But since the Content-Type of the uploaded file was changed from application/pdf to text/html, it displayed and rendered the XSS payload instead of the PDF.” continues the expert.
According to the researcher, it was possible to exploit the flaw to execute arbitrary code on behalf of Google employees and gain access to sensitive information.
The expert pointed out that many Google internal apps are hosted on the googleplex.com domain, making this issue a gift for the attackers,
Below the timeline for the flaw:
21.02.2019: Vulnerability reported
22.02.2019: Priority changed to P2
22.02.2019: Added more information
25.02.2019: Accepted and priority changed to P1
06.03.2019: Reward issued
26.03.2019: A fix has been implemented
11.04.2019: Issue marked as fixed