Researcher Awarded $10,000 for Google Cloud Platform Vulnerability
Security researcher David Schütz says he received over $10,000 in bug bounty payouts from Google after reporting a Google Cloud project vulnerability and subsequent bypasses to rolled-out fixes.
In March, Schütz discovered that a URL allow-list bypass could be used to leak the access token for the internal Google Cloud Platform (GCP) project “cxl-services.”
A user in possession of the access token could then elevate privileges on other internal Google Cloud projects (docai-demo, garage-staging, and p-jobs), could access Google Compute instances, and even completely take over cxl-services.appspot.com.
The leaked access token, Schütz notes, appears to provide a user with full access to the App Engine app cxl-services.appspot.com, which proxies demo API requests on Google Cloud product pages.
The issue, the researcher explains, allowed for the bypass of the allow-list check on cxl-services.appspot.com with the use of “@” (e.g. [your_domain]@jobs.googleapis.com).
“The regex thinks that the authority is jobs.googleapis.com, but the library making the request actually parses [your_domain] as the authority, and /@jobs.googleapis.com as the path,” Schütz says.
An anonymous attacker able to exploit the server-side request forgery (SSRF) flaw and steal the access token could then access resources on the affected GCP projects and view log files dating back years, which could include sensitive user data.
The researcher reported the vulnerability to Google in late March 2021 and, by mid-April, the Internet search giant told him he was eligible for a $4,133.70 bug bounty reward for his discovery.
In June, just as he was getting ready to publish information on the security hole, the researcher discovered that, while the original flaw had been patched, he was still able to leak the access token with a modified exploitation URL.
Specifically, while he initially thought that using “@” was the security defect, he then discovered that the URL check bypass would work by placing any character between “” and “@.”
Google, which addressed the second bypass within days after becoming aware of it, told the researcher he was eligible for a second bug bounty payout, of $3,133.70.
In August, Schütz found out that the bug was still affecting the old iteration of the default service, albeit it had been addressed in the newer version, so he sent another report to Google, which issued a third bug bounty reward, in the amount of $3,133.70.