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

Исследователи из Duo Labs и CERT/CC обнаружили лазейку в коде на SAML (Security Assertion Markup Language), позволяющую злоумышленникам авторизовываться в сети под именем легитимного пользователя без необходимости вводить пароль.

Уязвимость затрагивает SSO-решения, осуществляющие вход в систему с использованием только одного идентификатора. В отличие от других схем аутентификации (OAuth, OpenID, Facebook Connect), SSO хранит пользовательские учётные данные на центральном сервере вместе с их аккаунтами. Когда пользователи входят в другие корпоративные приложения (service providers — SP), эти SP посылают запросы на локальный SSO-сервер (identity provider — IdP) на SAML.

Обработка комментариев

Проблема заключается в методе обработки комментариев в языке XML. Если встроить <!-- --> в поле имени пользователя таким образом, чтобы конструкция «разорвала» строку, можно получить доступ к этому аккаунту.

конструкция-лазейка в SAML

Чтобы эксплуатировать уязвимость, злоумышленнику необходимо иметь зарегистрированный аккаунт в сети жертвы. Только так есть возможность послать соответствующий поддельный запрос, «провести SAML-систему» и войти под чужим именем.

Лучшая защита — 2FA

К числу библиотек, использование которых для парсинга 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.

При этом исследователи уверены, что уязвимыми являются далеко не все приложения. SP и IdP очень гибкие в плане настройки, так что разработчикам «есть где развернуться, чтобы изменить силу влияния» обнаруженной бреши. Специалисты рекомендуют отключить публичную регистрацию в чувствительных сетях и проверять каждого пользователя вручную, чтобы исключить авторизацию аккаунтов злоумышленников. Если это невозможно, то сетевые администраторы могут сконфигурировать «белый список» доменных имён, однако и это не является надёжной защитой.

Аккаунты с двухфакторной аутентификацией взлому не подвержены.

Источник: BleepingComputer

Подобрали три теста для вас:
— А здесь можно применить блокчейн?
Серверы для котиков: выберите лучшее решение для проекта и проверьте себя.
Сложный тест по C# — проверьте свои знания.

Также рекомендуем: