Уязвимость SAML позволяет преступнику входить в аккаунт под чужим именем

Уязвимость SAML позволяет преступнику входить в аккаунт под чужим именем

Уязвимость SAML позволяет преступнику входить в аккаунт под чужим именем

Исследователи безопасности из Duo Labs и US Computer Emergency Response Team Coordination Center (CERT/CC) сообщили о новой уязвимости SAML, которая позволяет злоумышленникам осуществлять аутентификацию в качестве законных пользователей без знания пароля.

SAML (Security assertion markup language — язык разметки декларации безопасности) — основанный на XML язык, который часто используется для обмена данными аутентификации и авторизации между сторонами, в частности, между поставщиком сервиса (service provider) и поставщиком учетных записей (identity provider). 

Самая важная область использования SAML — в технологиях единого входа (single sign-on, SSO), которые обеспечивают сквозную аутентификацию при работе через Web-браузер. В отличие от других схем аутентификации, таких как OAuth, OpenID, OpenID Connect и Facebook Connect, SSO хранит идентификатор на центральном сервере, где у пользователей есть учетные записи.

Когда пользователь пытается войти в другие корпоративные приложения, эти приложения (поставщики услуг) отправляют запросы на локальный SSO-сервер (поставщик учетных записей) через SAML.

Исследователи Duo Labs обнаружили недостаток дизайна, который влияет на программы SSO и несколько библиотек с открытым исходным кодом, предназначенных для поддержки SSO-операций на основе SAML. Подробное описание недостатка можно прочитать в отчете Duo Labs

Суть уязвимости в том, как эти библиотеки обрабатывают XML-комментарии, включенные в середину запроса ответа SAML. Например, специалисты заметили, что даже если злоумышленник вставляет комментарий внутри поля имени пользователя, он все равно может получить доступ к аккаунту. Единственным условием для использования уязвимости является наличие учетной записи в сети жертвы.

На данный момент уязвимость касается следующих провайдеров SAML:

OneLogin - python-saml — CVE-2017-11427

OneLogin - ruby-saml — CVE-2017-11428

Clever - saml2-js — CVE-2017-11429

OmniAuth-SAML — CVE-2017-11430

Shibboleth — CVE-2018-0489

Duo Network Gateway — CVE-2018-7340

Как видно, недостаток затрагивает не всех провайдеров, кроме того, он не касается учетных записей, защищенных двухфакторной аутентификацией.

Чтобы исправить ситуацию, специалисты предлагают обновить программное обеспечение, затронутое уязвимостью.