PostgreSQL исправила 52 уязвимости, включая 22-летнюю ошибку, позволявшую удаленное выполнение кода с аутентификацией

Postgresql безопасность уязвимость Cve Rce база данных thehackernews.com

Уязвимость типа «несоответствие типов» в PostgreSQL (CVE-2026-6460) позволяет пользователям с правами создания объектов выполнять код на сервере. Обновления устраняют эту и 51 другую уязвимость. Для полной защиты требуется перекомпиляция C-расширений.

Уязвимость типа «несоответствие типов» (type confusion) в PostgreSQL позволяет пользователю базы данных, имеющему право создавать объекты, выполнять произвольный код на сервере. Выпущенные вчера обновления устраняют эту проблему, а также 51 другую уязвимость безопасности. Для полной защиты от данной уязвимости также требуется перекомпиляция всех установленных на сервере расширений, написанных на языке C.
Уязвимость, отслеживаемая как CVE-2026-6460, имеет оценку CVSS 8.8. Любой код, выполненный таким образом, будет иметь права пользователя операционной системы, от имени которого запущен PostgreSQL. Уязвимы все версии до 18.7, 17.12, 16.16, 15.20 и 14.25.
Группа PostgreSQL Global Development Group, отвечающая за выпуск обновлений базы данных, не сообщала об атаках с использованием данной уязвимости. Оценка CISA в записи CVE также указывает на отсутствие эксплуатации.
Уязвимость связана с составными типами данных, которые представляют собой типы, построенные из именованных полей, каждое из которых имеет свой собственный тип данных. Тип поля может быть изменен, пока старые значения этого типа еще хранятся в других частях сервера.
В результате сервер может прочитать старое значение так, как если бы оно имело новый тип. Исправление, описанное в примечаниях к выпуску проекта, добавляет проверки версий, чтобы сервер мог обнаружить значение, которое больше не соответствует своему типу.
Исследователь безопасности Мехмет Инче описал рабочий эксплойт для данной уязвимости, продемонстрированный на PostgreSQL 18.6, в техническом отчете, опубликованном на этой неделе.
Его метод заключается в подготовке запроса, содержащего значение, изменении типа одного из полей этого значения, а затем выполнении запроса. Отчет включает SQL-код, который вызывает сбой на необновленном сервере таким образом, и второй шаг, который приводит к утечке адресов памяти. Он не включает SQL-код для финального шага, который заставляет сервер выполнять команду.
Он написал, что мог «вызвать этот сбой, используя роль с минимальными привилегиями». В рекомендации по безопасности проекта злоумышленник описывается как лицо, которое может создавать объекты, но не уточняется, какие именно привилегии для этого требуются.
Red Hat, распространяющая пакеты PostgreSQL, в своей оценке CVE заявляет, что злоумышленнику требуется вход в базу данных с возможностью создания или изменения объектов. Ни один из этих источников не указывает, может ли учетная запись с только стандартными привилегиями выйти за рамки сбоя и выполнить код.
Инче прослеживает корень уязвимости до 5 мая 2004 года, когда PostgreSQL получил возможность изменять тип столбца. Его техника выполнения кода основана на более позднем изменении, внесенном 14 мая 2015 года.
Он также адаптировал эксплойт для управляемых сервисов PostgreSQL и в августе конфиденциально поделился доказательствами концепции с их командами безопасности. Среди провайдеров, с которыми он работал, — AWS (Aurora и RDS), Microsoft (Azure PostgreSQL), Google (AlloyDB), Supabase, Databricks и Ubicloud. В отчете не указан текущий статус исправлений для каждого сервиса.
Проект отмечает более десятка докладчиков по CVE-2026-6460, включая исследователя, и отмечает его заслуги в исправлении пяти других уязвимостей в том же выпуске.
Проект оценивает 32 из 52 уязвимостей как критические (8.8), что является наивысшей оценкой в данном выпуске. Основываясь на оценках в индексе уязвимостей, только одна уязвимость в сервере не требует входа в систему или каких-либо действий пользователя. Эта уязвимость, CVE-2026-116322, позволяет неаутентифицированному клиенту инициировать перезапуск серверов PostgreSQL 18.
Несколько других исправлений касаются клиентских инструментов. Специально сформированный архив может привести к выполнению кода через pg_restore от имени пользователя, его запускающего. Компрометированный исходный сервер может привести к выполнению кода через psql с помощью скрипта восстановления в выходных данных tar pg_dump.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

В тренде:


Похожие новости: