Несколько уязвимостей в портале UberCENTRAL, запущенном минувшим летом в помощь бизнес-структурам, желающим упростить клиентам вызов такси, позволяют раскрыть имя, номер телефона, адрес электронной почты и персональный идентификатор любого пользователя Uber.

Эти бреши обнаружил студент Кевин Рох (Kevin Roh), который в свободное от учебы время ведет активный поиск багов. В сентябре и октябре он успешно применил две техники перебора УУИд (универсальных уникальных идентификаторов) пользователей Uber. Третья уязвимость позволила Роху выявить имена, телефонные номера и УУИд, ассоциированные с email-адресами, которые используются для регистрации на UberCENTRAL.

Все эти уязвимости возникли из-за небезопасных прямых ссылок на объекты (insecure direct object reference, IDOR) и проявляются при доступе к пользовательской записи с помощью персонального ключа пользователя. В качестве значения ключа на Uber используется УУИд, буквенно-цифровая строка из 32 символов, разделенных тире. «Если у атакующего есть возможность выполнить массовое перечисление УУИд пользователей через точку доступа, он сможет на этом этапе проводить IDOR-атаки против пользователей», — поясняет Рох в блог-записи.

Исследователю и ранее доводилось отыскивать уязвимости в продуктах Uber, поэтому его пригласили присоединиться к закрытой программе Bug Bounty. Таким образом, он получил доступ к серверной части UberCENTRAL и начал искать новые баги.

Первую уязвимость Рох обнаружил в начале сентября. Она позволила получить список УУИд через POST-запросы администратора, в которых был указан email дополнительного оператора (администратор имеет право их добавлять). Аналогичную технику исследователь применил в октябре, используя на этот раз запрос GET. Рох подчеркивает, что для проведения этих атак злоумышленник должен обладать правами администратора, а в качестве operatorEmail можно использовать любой из сотен тысяч легитимных адресов.

К концу октября была выявлена третья уязвимость: исследователю удалось заставить систему вернуть полноценный ответ, содержащий имя и фамилию пользователя, его телефонный номер и email-адрес.

Хотя эти бреши технически присутствовали в UberCENTRAL, Рох в своем комментарии Threatpost отметил, что до их устранения можно было просматривать информацию о любом пользователе Uber. При этом УУИд реально получить лишь при наличии возможности IDOR-атаки.

«Для просмотра УУИд администратор может использовать любой email-адрес, ассоциированный с Uber, — говорит исследователь. — Исключение составляет последняя уязвимость, которая позволяет раскрыть имя, номер телефона и УУИд пользователя, ассоциированный с адресом электронной почты. Этого не должно происходить, так как при добавлении админом операторов их информация (имя, телефонный номер, УУИд) обычно видна лишь оператору, осуществляющему вход на UberCENTRAL. Тем не менее использование GET-запроса помогает раскрыть эту информацию даже в том случае, когда она не отображена на странице».

Uber устранила первую уязвимость, удалив УУИд пользователя из ответа сервера. Вторая и третья проблемы были решены рандомизацией УУИд в ответе и подстановкой NULL в поля firstname, lastname и phonenumber. Все уязвимости были пропатчены в октябре, однако Рох обнародовал их лишь на этой неделе. Представитель Uber в ответ на запрос Threatpost подтвердил выпуск патчей, подчеркнув, что никто из пользователей не пострадал.

Размер премий за новые баги неизвестен; ранее Uber платила Роху за находки от $500 до $1 тыс. Обычно компания не уточняет суммы выплат в рамках Bug Bounty; на ее странице на HackerOne лишь указано, что за время работы программы было обработано 470 отчетов, по которым совокупно выплачено $700 тыс.

Bug Bounty Uber официально стартовала в марте, по окончании этапа бета-тестирования. Анонсируя эту программу, технический директор HackerOne Алекс Прайс (Alex Price) пожелал будущим участникам и Uber прозрачности взаимоотношений. «Не устану повторять: работа исследователей более эффективна, когда с ними обращаются как с членами собственной ИБ-команды, а не держат их на расстоянии вытянутой руки, как это делают большинство инициаторов Bug Bounty», — заявил тогда Прайс.

Рох участвует в Bug Bounty Uber с момента ее запуска и ныне занимает четвертую строчку в списке ее лидеров. По словам исследователя, он получил приглашение после того, как обнаружил на сайте Uber номера лицензий, страховок и налоговые данные 900 ее партнеров. Компания исправила это упущение и предложила студенту присоединиться к ограниченной группе участников бета-тестирования Bug Bounty.

Категории: Аналитика, Уязвимости