Google has patched several vulnerabilities in Caja that could have been exploited for cross-site scripting (XSS) attacks on the Google Docs and Developers domains.
Poland-based bug bounty hunter Michał Bentkowski started analyzing Google Docs at the beginning of the year. The expert noticed that users can create scripts in Google Docs using the JavaScript-based scripting language Google Apps Script.
Google Apps Script uses the search giant’s Caja tool to safely embed HTML, CSS and JavaScript in a website. Caja ensures that user-supplied code is sandboxed to prevent phishing and XSS attacks.
Before executing user code, Caja identifies variables and either replaces them with a Caja-supplied object or removes them from the global scope. This prevents, for instance, the use of the window object for XSS attacks.
Bentkowski discovered that while Caja developers have taken into account that attackers could try to bypass this protection by using obfuscation methods – such as writing window as Function(“win”+”dow”) – they neglected Unicode escapes. The researcher found that window can be written as u0077indow, where the “w” character is replaced with its Unicode representation, u0077.
An attacker could have used this trick to create a specially crafted Google Docs document that included an XSS payload.
Google addressed this issue after two weeks, but the researcher determined that the fix was not efficient. An attacker could have also replaced the “w” character in window with u{77}. While this method was not as straightforward as the first one, Bentkowski made it work by using HTML-like comments.
Google later patched this vulnerability as well, but the company forgot to update the version of Caja used for demos on the developers.google.com domain. This oversight could have allowed attackers to launch XSS attacks on developers.google.com in combination with web browser clickjacking vulnerabilities.
Caja developers have made some security improvements based on Bentkowski findings. The researcher said Google awarded him $5,000 for the flaws affecting Google Docs and $3,133.7 for the issue on the developer.google.com domain.
Related: Google Increases Android Bug Bounty Payouts
Related: Google Patches Serious Account Recovery Vulnerabilities

Eduard Kovacs (@EduardKovacs) is a contributing editor at SecurityWeek. He worked as a high school IT teacher for two years before starting a career in journalism as Softpedia’s security news reporter. Eduard holds a bachelor’s degree in industrial informatics and a master’s degree in computer techniques applied in electrical engineering.
More from Eduard Kovacs
- High-Severity Vulnerabilities Found in WellinTech Industrial Data Historian
- CISA Expands Cybersecurity Committee, Updates Baseline Security Goals
- Exploitation of 55 Zero-Day Vulnerabilities Came to Light in 2022: Mandiant
- Organizations Notified of Remotely Exploitable Vulnerabilities in Aveva HMI, SCADA Products
- Waterfall Security, TXOne Networks Launch New OT Security Appliances
- Hitachi Energy Blames Data Breach on Zero-Day as Ransomware Gang Threatens Firm
- New York Man Arrested for Running BreachForums Cybercrime Website
- Exploitation of Recent Fortinet Zero-Day Linked to Chinese Cyberspies
Latest News
- ‘Badsecrets’ Open Source Tool Detects Secrets in Many Web Frameworks
- High-Severity Vulnerabilities Found in WellinTech Industrial Data Historian
- Chrome 111 Update Patches High-Severity Vulnerabilities
- BreachForums Shut Down Over Law Enforcement Takeover Concerns
- CISA Expands Cybersecurity Committee, Updates Baseline Security Goals
- Malware Trends: What’s Old Is Still New
- Burnout in Cybersecurity – Can It Be Prevented?
- Spain Needs More Transparency Over Pegasus: EU Lawmakers
