Библиотека GeoTools, лежащая в основе сервера публикации геоданных OSGeo GeoServer, содержит уязвимость критического уровня опасности. Ошибка в обработке запросов к базе данных позволяет удалённому злоумышленнику выполнить произвольный код на сервере. Разработчики уже выпустили исправление, однако рабочий эксплойт доступен публично, что заметно повышает риск практических атак.
Детали уязвимости
Причина - непринятие мер по защите структуры SQL-запроса, иначе говоря внедрение SQL-кода (CWE-89). Пользовательские данные попадают в тело запроса без должной проверки и экранирования. Из-за этого атакующий может дополнить обращение к базе собственными условиями и командами. Ошибка затрагивает участок библиотеки, отвечающий за проверку вхождения значений в массивы формата JSON. Когда такие значения приходят из внешнего запроса, они не отделяются от служебной части запроса. В итоге граница между данными и исполняемой конструкцией стирается.
Уязвимость получила идентификаторы BDU:2026-12700 и CVE-2026-76904. Она затрагивает GeoTools версий до 33.6, от 30.5 до 31.0, от 34.0 до 34.5 и 35.0. Вендор подтвердил проблему и устранил её в выпусках 33.6, 34.5 и 35.1. Обновления опубликованы в открытом репозитории проекта, там же приведены ссылки на рекомендации производителя и описание изменений.
GeoTools - библиотека для работы с пространственными данными на языке Java. GeoServer на её основе публикует карты, слои и геоинформационные сервисы. Такие системы используют в государственном управлении, муниципалитетах, картографии, коммунальном хозяйстве, на транспорте и в экологическом мониторинге. Серверы нередко выставляют в интернет, поскольку они обслуживают внешних пользователей. Следовательно, вредоносный запрос может прийти из любой точки сети и не требует предварительной аутентификации.
Вектор атаки оценивается как сетевой, а сложность эксплуатации - как низкая. Для срабатывания не нужны ни учётная запись, ни действия со стороны пользователя. Оценка по CVSS 3.1 составляет 9,8 из 10, по CVSS 2.0 - 10 из 10. Столь высокие значения отражают полное влияние на конфиденциальность, целостность и доступность данных. Опубликованный эксплойт снижает порог входа: практическая эксплуатация не требует глубоких знаний о внутреннем устройстве продукта.
Цели атаки зависят от прав, под которыми работает приложение. При успешной эксплуатации злоумышленник смог бы читать содержимое базы данных, изменять и удалять записи, а также обходить проверки доступа к отдельным слоям. Если учётная запись приложения обладает расширенными правами, потенциальная атака ведёт к выполнению команд операционной системы. Тогда под угрозой оказывается не только геоинформационная платформа, но и весь сервер целиком, включая соседние сервисы и учётные данные других приложений.
Отдельного внимания требует характер данных, которые обрабатывают подобные системы. Это схемы инженерных сетей, границы участков, сведения о транспортной инфраструктуре, кадастровая информация. Подмена или удаление таких записей способна нарушить работу смежных служб. Например, искажённые координаты объектов затрудняют аварийные и ремонтные работы, а скрытая выгрузка слоёв раскрывает сведения, не предназначенные для публикации.
Разработчики GeoTools отреагировали на сообщение и подготовили патчи. Исправленные версии - 33.6, 34.5 и 35.1. Пользователям GeoServer и других продуктов на базе библиотеки рекомендуется установить их в кратчайшие сроки. Обновление закрывает саму причину ошибки, тогда как настройки на уровне сервера лишь снижают вероятность эксплуатации.
Если немедленное обновление невозможно, стоит ограничить доступ к административному интерфейсу и точкам публикации данных, оставив их только для доверенных адресов. Полезно включить подробное журналирование запросов к базе и проверять журналы на нетипичные обращения. Разнесение сервиса и базы данных по разным узлам, а также урезание прав учётной записи приложения уменьшают последствия возможной компрометации. Проверить наличие уязвимости можно по версии библиотеки, указанной в зависимостях проекта.
Ошибки класса внедрения SQL-кода остаются одной из самых распространённых причин компрометации веб-приложений. Геоинформационные платформы здесь не исключение: они принимают сложные пространственные запросы и часто работают с большими объёмами внешних данных. Уязвимость затрагивает широкий диапазон версий библиотеки, а готовый эксплойт уже доступен. Поэтому своевременное обновление GeoServer и GeoTools, а также контроль версий в зависимостях сторонних продуктов остаются основной мерой защиты.
Ссылки
- https://bdu.fstec.ru/vul/2026-12700
- https://www.cve.org/CVERecord?id=CVE-2026-76904
- https://github.com/geotools/geotools/security/advisories/GHSA-mqjf-5f49-2fjh
- https://osgeo-org.atlassian.net/browse/GEOT-7589
- https://osgeo-org.atlassian.net/browse/GEOT-7958
- https://osgeo-org.atlassian.net/browse/GEOT-7959
- https://github.com/geotools/geotools/commit/d821c4d321dd91c22e31fcd5b1ce676645da5176
- https://github.com/geotools/geotools/pull/5829
- https://github.com/geotools/geotools/releases/tag/33.6
- https://github.com/geotools/geotools/releases/tag/34.5
- https://github.com/geotools/geotools/releases/tag/35.1
- https://gist.github.com/portbuster1337
- https://github.com/YonLiud/CVE-2026-76904