Команда разработчиков pgAdmin выпустила версию 9.16 популярного инструмента управления базами данных PostgreSQL. Обновление закрывает семь уязвимостей, пронумерованных от CVE-2026-12044 до CVE-2026-12050, и включает 64 исправления ошибок, а также ряд улучшений пользовательского интерфейса. Поскольку pgAdmin широко применяется администраторами и разработчиками для повседневной работы с PostgreSQL, выход патча имеет прямое значение для безопасности многих корпоративных сред.
Детали уязвимостей
Наиболее опасные проблемы связаны с инъекциями и недостатками аутентификации. Уязвимость CVE-2026-12044 представляет собой SQL-инъекцию в шестнадцати шаблонах диалоговых окон: из-за некорректной обработки строк в операторах COMMENT злоумышленник мог встроить произвольный SQL-код. Разработчики заменили небезопасное конструирование запросов на вызов qtLiteral и стали использовать приведение OID (идентификаторов объектов) для безопасного построения запросов. Аналогичная проблема, CVE-2026-12050, обнаружена в функции создания именованных точек восстановления (restore point) - там пользовательский ввод подставлялся в SQL-запрос через строковое форматирование вместо параметризованных операторов.
Вторая по серьёзности уязвимость - CVE-2026-12045 - затрагивает AI Assistant в pgAdmin. Этот компонент позволял выполнять запросы в режиме только для чтения, однако баг в реализации давал возможность обойти ограничение и выполнять многооператорные команды. При определённых настройках, если ассистент работал с привилегиями суперпользователя, атака могла перерасти в удалённое выполнение кода через команду COPY TO PROGRAM. Такой сценарий крайне опасен для инсталляций, где AI Assistant доступен внешним пользователям или используется в окружениях с ослабленным контролем доступа.
Пробелы в аутентификации устранены с помощью CVE-2026-12046. Две конечные точки SQL-редактора не имели должной проверки подлинности. В результате злоумышленник, получивший доступ к сессии или сети, мог отправить запрос к этим точкам и спровоцировать десериализацию вредоносной полезной нагрузки (pickle-объекта). Десериализация произвольных данных чревата выполнением произвольного кода на сервере.
Сторонние инъекции и межсайтовый скриптинг также получили исправления. CVE-2026-12047 устраняет внедрение HTML-кода через сообщения об ошибках облачного SDK (наборов средств разработки для облачных интеграций): эти сообщения отображались браузером без санитизации, что позволяло вставить произвольные теги. Более серьёзная уязвимость - CVE-2026-12048 - представляет собой хранимый межсайтовый скриптинг (stored XSS) в нескольких компонентах интерфейса, включая уведомления об ошибках и визуализатор планов Explain. При успешной эксплуатации атакующий мог похитить сохранённые учётные данные пользователей pgAdmin и выполнить произвольные SQL-запросы на подключённых серверах баз данных. Такая комбинация кражи учётных данных и возможности выполнять SQL делала уязвимость особенно опасной в многопользовательских развёртываниях.
Наконец, CVE-2026-12049 закрывает открытое перенаправление (open redirect) в процессе многофакторной аутентификации. Параметр “next” в URL не проверялся на корректность, поэтому злоумышленник мог перенаправить пользователя после успешного входа на вредоносный сайт. Хотя эта уязвимость сама по себе не ведёт к прямому захвату системы, она открывает возможности для фишинговых атак, нацеленных на администраторов баз данных.
Помимо исправлений безопасности, версия 9.16 привносит функциональные улучшения. Пользователи теперь могут назначать каждому серверу отдельный цвет вкладок, что упрощает навигацию при работе с несколькими базами. Добавлено закрытие вкладок по средней кнопке мыши, расширена настройка иконок OAuth2, поддержаны параметры хранения TOAST для материализованных представлений. Для пользователей Kubernetes в Helm-диаграммах появилась возможность настраивать контексты безопасности контейнеров. В числе прочих изменений - обновление зависимостей (Electron 42.3.3, библиотека cryptography 49.0), переход на стандартный шаблон PostgreSQL 14 по умолчанию, удаление устаревших компонентов. При этом разработчики официально объявили о постепенном отказе от pgAgent - агента для планирования задач, - его поддержка прекратится в ближайшие месяцы.
Администраторам баз данных и специалистам по информационной безопасности следует как можно скорее установить обновление pgAdmin до версии 9.16. Несколько из исправленных уязвимостей, в особенности CVE-2026-12044, CVE-2026-12045 и CVE-2026-12048, способны привести к эскалации привилегий, краже данных или удалённому выполнению кода в экспонированных средах. Если немедленное обновление невозможно, рекомендуется ограничить доступ к pgAdmin по сети, отключить AI Assistant и строго контролировать права пользовательских сессий. Однако выпущенный патч является полным и надёжным способом закрыть бреши.
Ссылки