GeoNetwork допускает выполнение команд через XSLT и загрузку файлов без аутентификации

GeoNetwork

В открытой каталоговой системе GeoNetwork, применяемой для хранения и поиска геопространственных данных, обнаружены уязвимости, которые ставят под угрозу серверы и пользователей приложения. Проблемы затрагивают версии с 4.4.5 по 4.4.11, а также все выпуски ветки 4.2 вплоть до 4.2.16 включительно. Исправления вышли в составе релизов 4.4.12 и 4.2.17.

Детали уязвимостей

Первая уязвимость связана с межсайтовым скриптингом (XSS) в публичной функции поиска каталога. Этот тип атаки возникает, когда приложение выводит пользовательские данные на страницу без необходимой очистки. В GeoNetwork недостаточно проверяется параметр uiconfig, который передаётся в адресной строке. Атакующий может сформировать ссылку с внедрённым JavaScript-кодом и отправить её любому пользователю. Когда жертва открывает ссылку, код выполняется в её браузере в контексте каталога GeoNetwork. Отражённый XSS означает, что вредоносный код не сохраняется на сервере, а сразу попадает в страницу результатов поиска. Такая атака позволяет перехватывать сессионные данные, изменять содержимое страниц или выполнять операции от имени авторизованного пользователя. Для осуществления атаки не требуется учётная запись, поэтому под угрозой оказывается любой посетитель каталога.

Вторая проблема оказалась значительно серьёзнее. Она связана с небезопасной конфигурацией XSLT-процессора Saxon. XSLT - это язык преобразования XML-документов, который GeoNetwork использует для форматирования метаданных при выводе записей. Процессор Saxon предоставляет расширенные возможности, включая вызовы Java-классов, но в конфигурации каталога эти функции оказались не ограничены. Пользователь, обладающий правом загрузки файлов, может отправить специально созданный .xsl-файл. При его обработке на сервере интерпретатор выполнит инструкции, содержащиеся в файле. Это позволяет запустить произвольные команды операционной системы или обратиться к внутренним объектам приложения. Фактически атакующий с правом загрузки получает контроль над сервером, на котором работает GeoNetwork. Разработчики присвоили этой уязвимости идентификатор CVE-2026-58400.

Третья уязвимость находится в API-методе, предназначенном для загрузки форматтеров. Форматтер - это модуль GeoNetwork, определяющий визуальное представление метаданных и карт. Из-за пропущенной проверки авторизации любой пользователь без аутентификации может загружать на сервер файлы с расширением .xsl или .zip. Таким образом, анонимный посетитель получает возможность записывать произвольные данные на диск сервера. Сама по себе такая загрузка уже опасна, поскольку позволяет размещать файлы, способные повлиять на работу каталога. В сочетании с уязвимостью XSLT-процессора загруженные .xsl-файлы потенциально могут привести к полной компрометации системы. Уязвимости присвоен идентификатор CVE-2026-63219.

GeoNetwork - свободное программное обеспечение, которое широко используется государственными и научными организациями для построения инфраструктур пространственных данных. Каталоги на его основе часто открыты для внешнего доступа, чтобы разные организации могли обмениваться геоинформационными материалами. Успешная атака может нарушить доступность каталога, изменить описания наборов данных или остановить работу зависимых сервисов, использующих эти метаданные. Информации о том, что перечисленные уязвимости эксплуатировались в реальных атаках, в сообщении разработчиков нет. Тем не менее высокие риски требуют незамедлительной реакции со стороны администраторов.

Помимо трёх описанных проблем, в обновлённых версиях закрыты ещё несколько недостатков безопасности. В частности, устранена подделка серверных запросов (SSRF) в инструменте работы со стилями карт, а также некорректная обработка HTML-кода во всплывающих окнах картографического интерфейса. Эти уязвимости могли использоваться для обращения к внутренним ресурсам сервера и выполнения скриптов в браузере. Все исправления вошли как в версию 4.4.12, так и в версию 4.2.17.

Разработчики из OpenGeo рекомендуют администраторам обновиться до указанных версий в кратчайшие сроки. Ветка GeoNetwork 4.2 при этом приближается к завершению жизненного цикла, поэтому её пользователям стоит сразу планировать переход на актуальную версию 4.4. При установке новых версий необходимо учитывать изменения в API. Для форматтеров теперь действуют ограничения и более строгая проверка прав доступа. Интеграции, которые используют загрузку форматтеров, потребуется проверить и при необходимости адаптировать. Также стоит протестировать отображение карт и всплывающих подсказок, поскольку обработка содержимого слоёв стала безопаснее.

Проверка обработки пользовательского ввода и настроек интерпретаторов остаётся важной частью защиты любого веб-приложения. Уязвимости GeoNetwork показывают, что даже открытое программное обеспечение с долгой историей развития может содержать ошибки, дающие злоумышленникам путь к серверу. Своевременное обновление и анализ конфигураций критичных компонентов позволяют устранить проблемы до того, как ими успеют воспользоваться.

Ссылки

Комментарии: 0