
Хакер #309. Самооборона по-хакерски
Разработчики GitLab выпустили обновления Community Edition (CE) и Enterprise Edition (EE), устраняющие девять уязвимостей. Среди исправленных проблем присутствуют две критические ошибки обхода аутентификации в библиотеке ruby-saml.
Все проблемы устранены в версиях ruby-saml 1.12.4 и 1.18.0 и в GitLab CE/EE 17.7.7, 17.8.5 и 17.9.2, а все предыдущие версии считаются уязвимыми.
GitLab.com уже получил патчи, и клиенты GitLab Dedicated получат обновления автоматически. Пользователям, поддерживающим self-managed установки на собственной инфраструктуре, рекомендуется как можно скорее применить обновления вручную.
Критические уязвимости получили идентификаторы CVE-2025-25291 и CVE-2025-25292. Обе проблемы были найдены в библиотеке ruby-saml, которая используется для аутентификации SAML Single Sign-On (SSO) на уровне инстанса или группы.
Оба недостатка связаны с тем, что REXML и Nokogiri используют разные методы для парсинга XML, в результате чего оба парсера генерируют совершенно разные структуры документов из одного и того же XML-входа. Эта разница позволяет злоумышленнику выполнить атаку типа Signature Wrapping, что приводит к обходу аутентификации.
По сути, уязвимости позволяют аутентифицированному атакующему выдать себя за другого пользователя в среде Identity Provider (IdP). А если злоумышленник получит несанкционированный доступ к учетной записи другого пользователя, это может привести к утечке данных, повышению привилегий и другим рискам.
Обе ошибки были обнаружены специалистами GitHub, которые уже опубликовали собственный технический анализ. Отмечается, что GitHub эти уязвимости не затронули, поскольку использование библиотеки ruby-saml было прекращено в 2014 году.
«В настоящее время GitHub не использует ruby-saml для аутентификации, но мы решили оценить возможности этой библиотеки, намереваясь снова использовать опенсорсную библиотеку для SAML-аутентификации, — объясняют представители GitHub. — Однако эта библиотека применяется в других популярных проектах и продуктах. Мы обнаружили уязвимость в GitLab и уведомили команду безопасности, чтобы та приняла необходимые меры для защиты своих пользователей от возможных атак».
Также стоит отметить, что на этой неделе разработчики GitLab устранили еще одну опасную уязвимость, связанную с удаленным выполнением произвольного кода — CVE-2025-27407. Этот баг позволяет злоумышленнику, который контролирует аутентифицированного пользователя, использовать для удаленного выполнения кода функцию Direct Transfer, которая отключена по умолчанию.