В коде OpenID проекта DotNetOpenAuth содержится опасная уязвимость
🕛 03.10.2012, 14:31
Представленный поставщиком пример кода OpenID Provider позволяет злоумышленнику подключиться к сторонней учетной записи. Как сообщает ZDNeT, лидер одного из open source проектов по аутентификации на прошлой неделе предупредил разработчиков о том, что код, который недавно был добавлен в их решение для web-сайтов, содержит «серьезную уязвимость» в реализации аутентификации по OpenID.
Уязвимый код был разработан сотрудниками проекта DotNetOpenAuth, в состав которого официально входит Microsoft. Этот проект занимается разработкой библиотеки, используемой функционалом OpenID, OAuth, и ICard в Microsoft .NET Framework.
Код с уязвимостью не содержится ни в одном из продуктов Microsoft, хотя софтверный гигант использует DotNetOpenAuth в Visual Studio 2012,а также в шаблонах ASP.Net MVC (Model-View-Controller).
Свободный разработчик Эндрю Арнотт (Andrew Arnott), который руководит проектом, заявил, что уязвимость существует в примере кода для сборки OpenID Provider (OpenIdProviderMVC) еще с конца 2010 года.
«Код Model-View-Controller в OpenID Provider каждого web-сайта должен быть пересмотрен и проверен на наличие бреши, которую нужно устранить вручную. Есть высокая вероятность того, что некоторые люди просто скопировали пример кода, но конкретные случаи мне не известны», - заявил эксперт.
Арнотт также отметил, что он всегда подчеркивает для разработчиков трудность сборки OpenID Provider и призывает их к тщательному контролю качества. «Надеюсь, все подошли к вопросу с должным уровнем осмотрительности и не скопировали брешь из примера в развернутое web-приложение», - отметил разработчик.
Уязвимость в коде примера позволяет злоумышленнику авторизоваться на web-сайте и получить контроль над учетной записью другого пользователя. Конкретно в реализации OpenID уязвимый код позволяет хакеру выдать себя за любого пользователя сайта, который пользуется тем же поставщиком удостоверения (identity provider, IdP).