Google API PHP Client - это серверная библиотека, разработанная в Google Inc., позволяющая работать с такими приложениями как Google+, Drive или YouTube. Библиотека написана на языке PHP.

Две уязвимости типа XSS (Cross-Site Scripting) были обнаружены в файле "url-shortener.php". Обе уязвимости позволяют исполнять вредонсный JavaScript код на стороне клиента. Хоть и уязвимости относятся к классу пассивных XSS, они имеют огромную потенциальную опасность в связи с популярным и хорошо зарекомендовавшим себя брендом "Google". Ничего не подозревающий пользователь с огромной вероятностью перейдёт по заражённой ссылке.

Уязвимая функция $_SERVER['PHP_SELF']:

1) Первая уязвимость находится в форме, принимающей GET-параметр из URL'а:

<form id="url" method="GET" action="<?= $_SERVER['PHP_SELF'] ?>">

Достаточно послать серверу вредоносный код в URL параметре, при этом закодировав специальные символы (HTMLEncode) для обхода встроенной фильтрации. В последующем, эта ссылка отправляется жертве для дальнейшей компрометации.

  http://vulnerablesite.com/google-api-php-client/examples/urlshortener.php/%22%3E%3Cscript%3Ealert('xss')%3C/script%3E%3Cdc

2) Следующая уязвимость находится в том же файле, но несколькими строками ниже:

 <a href="<?= $_SERVER['PHP_SELF'] ?>">Create another</a>

Пример эксплуатации:
Так же прост как и в первом случае. Кодируем спецсимволы и передаём код в параметре URL'a.

  http://vulnerablesite.com/google-api-php-client/examples/urlshortener.php/%22%3E%3C/script%3E%3Cscript%3Ealert(42)%3C/script%3E?url=http%3A%2F%2Fwww.defensecode.com

Использование Web Application Firewall позволяет блокировать подобные атаки.