Уязвимость 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

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

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

Баг macOS ломает TCP через 49 дней без перезагрузки

В macOS нашли редкий, но очень неприятный баг: если компьютер работает без перезагрузки примерно 49,7 дня, у него может постепенно умирать TCP. По версии исследователей, проблема связана с переполнением 32-битного счётчика времени в ядре XNU, который используется TCP-подсистемой.

После этого внутренние TCP-таймеры якобы перестают нормально обновляться, соединения в состоянии TIME_WAIT не очищаются, временные порты постепенно заканчиваются, и система в какой-то момент просто перестаёт устанавливать новые TCP-соединения.

При этом ping может продолжать работать, что делает сбой особенно странным. В Photon пишут, что заметили аномалию на своих macOS-машинах, которые круглосуточно используются для мониторинга iMessage-сервисов.

По их описанию, часть узлов после примерно 49 дней 17 часов 2 минут 47 секунд аптайма перестала открывать новые TCP-сессии. После перезагрузки всё возвращалось в норму, но таймер, по сути, запускался заново.

Авторы утверждают, что смогли воспроизвести поведение на двух машинах и связали его с переменной tcp_now в XNU. В открытом репозитории Apple действительно есть TCP-код ядра Darwin/XNU, где используются 32-битные значения времени и логика сравнения временных меток TCP, на которую ссылаются исследователи.

Поведения бага выглядит так: сначала ничего не ломается в лоб, но закрытые TCP-соединения перестают вовремя исчезать из TIME_WAIT. Затем их становится всё больше, временные порты забиваются, новые подключения начинают зависать в SYN_SENT, а сервисы, которым нужны новые TCP-сокеты, начинают сыпаться.

Если эта находка подтвердится, то для обычного пользователя баг вряд ли станет массовой проблемой: большинство устройств на macOS перезагружаются чаще (хотя бы из-за обновлений). А вот для долго работающих Mac mini, билд-серверов, CI/CD-ферм, удалённых рабочих станций и серверных компьютеров, которые могут жить без ребута неделями, история выглядит уже куда серьёзнее.

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

RSS: Новости на портале Anti-Malware.ru