В GeoServer обнаружена критическая уязвимость SQL-инъекции с оценкой CVSS 9.8, которая при определённых конфигурациях может привести к удалённому выполнению кода (RCE). Уязвимость отслеживается как GHSA-mqjf-5f49-2fjh и затрагивает библиотеку GeoTools в компоненте работы с PostGIS. Разработчики уже выпустили исправления для трёх поддерживаемых веток — GeoServer 3.0.1, 2.28.5 и 2.27.6. Организациям, использующим GeoServer с PostGIS 12 и выше, необходимо немедленно обновиться, поскольку, по данным компании watchTowr, в сети уже наблюдается сканирование на предмет уязвимых экземпляров.
Технические детали уязвимости
Уязвимость локализована в реализации PostGIS DataStore библиотеки GeoTools. Согласно официальному уведомлению безопасности на GitHub, проблема возникает при выполнении OGC-фильтров с использованием функции jsonArrayContains. В версиях PostGIS 12 и выше вызов jsonArrayContains(<column>, <pointer>, <value>) записывает параметр <value> в генерируемый SQL-запрос без экранирования, что открывает прямой вектор для SQL-инъекции.
Для эксплуатации требуется PostGIS версии 12 или выше с полем типа String или JSON. При наличии привилегий системного администратора базы данных уязвимость, как сообщается, позволяет достичь удалённого выполнения кода.
Затронутые версии Maven-пакета org.geotools:gt-jdbc-postgis:
- Версия 35.0 — исправлена в 35.1
- Версии ≥34.0 — исправлены в 34.5
- Версии ≥33.1 — исправлены в 33.6
Соответствующие релизы GeoServer: 3.0.1, 2.28.5 и 2.27.6.
Регрессия ранее исправленной уязвимости
Особого внимания заслуживает тот факт, что мейнтейнеры проекта квалифицировали данную уязвимость как регрессию ранее исправленной CVE-2023-25158 (CVSS 9.8) — критической SQL-инъекции, которая была устранена в феврале 2023 года вместе с CVE-2023-25157. Это означает, что исправление, внесённое более трёх лет назад, было непреднамеренно отменено в ходе последующей разработки — ситуация, характерная для крупных проектов с открытым исходным кодом, но от этого не менее опасная.
Jody Garnett из GeoCat, как сообщается, подтвердил, что уязвимость была известной проблемой в библиотеке GeoTools и что она устранена в указанных трёх релизах GeoServer.
Наблюдаемая активность сканирования
Уязвимость была публично раскрыта 12 августа 2026 года исследователем под псевдонимом @q1uf3ng в социальной сети X. По данным компании watchTowr, в течение нескольких часов после публикации начали фиксироваться попытки эксплуатации — сотни запросов от небольшого пула IP-адресов.
Важная оговорка: на момент публикации наблюдаемая активность, по словам исследователя watchTowr Джейка Нотта, ограничивалась зондированием — атакующие выявляли уязвимые системы, провоцируя ошибки, но не переходили к полноценной эксплуатации. Первичный отчёт watchTowr с телеметрией и индикаторами компрометации публично недоступен, поэтому масштаб активности следует оценивать с осторожностью. Статус эксплуатации корректнее классифицировать как наблюдаемое сканирование, а не подтверждённую эксплуатацию в реальных атаках.
Историческая картина угроз для GeoServer
GeoServer неоднократно становился мишенью атакующих. В 2024 году критическая уязвимость CVE-2024-36401 (CVSS 9.8) в компоненте GeoServer GeoTools, по имеющимся данным, эксплуатировалась для формирования ботнетов — как для DDoS-атак и майнинга криптовалют, так и для создания резидентных прокси-сетей. Этот прецедент делает текущую уязвимость особенно значимой: при наличии публичного описания вектора атаки и исторического интереса злоумышленников к платформе переход от сканирования к активной эксплуатации — вопрос времени.
Оценка воздействия
GeoServer широко используется в государственных геоинформационных системах, картографических сервисах, инфраструктурных проектах и научных организациях. Экземпляры, доступные из интернета и работающие с PostGIS 12+ с полями типа String или JSON, подвержены наибольшему риску. Успешная эксплуатация может привести к полной компрометации сервера базы данных, утечке геопространственных данных и использованию скомпрометированной инфраструктуры в качестве плацдарма для дальнейших атак.
Рекомендации по реагированию
- Немедленное обновление: обновите GeoServer до версии 3.0.1, 2.28.5 или 2.27.6 в зависимости от используемой ветки. На уровне библиотеки GeoTools обновите
org.geotools:gt-jdbc-postgisдо версии 35.1, 34.5 или 33.6 соответственно. - Инвентаризация: выявите все экземпляры GeoServer в инфраструктуре, особенно доступные из интернета.
- Ограничение доступа: если немедленное обновление невозможно, закройте публичный доступ к GeoServer через сетевые средства контроля — межсетевые экраны, VPN, списки разрешённых IP-адресов.
- Мониторинг: проверьте журналы на наличие аномальных OGC-запросов с использованием функции
jsonArrayContains, особенно содержащих нетипичные значения в параметрах. - Проверка версии PostGIS: уязвимость актуальна только для PostGIS 12 и выше. Если используется более ранняя версия, непосредственный риск отсутствует, однако обновление GeoServer всё равно рекомендуется.
Учитывая оценку CVSS 9.8, характер уязвимости как регрессии уже эксплуатировавшегося класса дефектов и зафиксированное сканирование, обновление GeoServer до исправленных версий должно быть приоритетной задачей. Организациям, которые не могут обновиться в ближайшие часы, следует как минимум изолировать уязвимые экземпляры от прямого доступа из интернета.