Проблема затрагивает решения различных SSO-провайдеров и несколько открытых библиотек, поддерживающих SAML SSO операции.
Исследователи из компании Duo Labs выявили уязвимость в дизайне SAML (Security Assertion Markup Language), которая позволяет атакующему авторизоваться под видом легитимного пользователя без наличия пароля жертвы. Проблема затрагивает решения различных SSO-провайдеров и несколько открытых библиотек, поддерживающих SAML SSO (Single Sign-On) операции.
Уязвимость заключается в том, как данные библиотеки обрабатывают XML комментарии в ответах SAML-протокола. К примеру, внедрив комментарий в поле логина таким образом, что он «разорвет» имя пользователя, злоумышленник может получить доступ к учетной записи легитимного пользователя. При этом у атакующего должен быть зарегистрированный аккаунт в сети жертвы.
Исследователи идентифицировали ряд решений с Single Sign-On на базе SAML, уязвимых к данной атаке:
Как отметили эксперты, данная уязвимость затрагивает SAML SSO провайдеров в разной мере, а для некоторых и вовсе не актуальна. Атака не работает против учетных записей, защищенных с помощью двухфакторной аутентификации.
Для предотвращения подобных атак исследователи порекомендовали отключить публичную регистрацию пользовательских учетных записей в важных сетях и проверять каждого пользователя вручную, чтобы злоумышленники не смогли зарегистрировать аккаунт во внутренней сети. Если это невозможно, администраторы могут сформировать список разрешенных доменов электронной почты и ограничить возможность регистрации в сети.
Security Assertion Markup Language (SAML) — открытый стандарт, который описывает фреймворк, позволяющий обеим сторонам (приложению и провайдеру) обмениваться аутентификационной и авторизационной информацией.
Single Sign-On (SSO) — технология, позволяющая авторизоваться в web-приложении через сторонний сайт-провайдер.