Группа разработки PostgreSQL недавно объявила о выпуске обновления всех поддерживаемых версий вашей системы баз данных, включая 11.3, 10.8, 9.6.13, 9.5.17 и 9.4.22.
Эта версия исправления решает в основном две проблемы безопасности на сервере PostgreSQL, проблема безопасности, обнаруженная в двух установщиках PostgreSQL для Windows, и более 60 ошибок, обнаруженных за последние три месяца.
Решенные проблемы безопасности
В этой версии были исправлены четыре уязвимости системы безопасности, две из которых было очень важно устранить, а именно:
CVE-2019-10127: установщик Windows BigSQL не удаляет записи из списка разрешающего контроля доступа
CVE-2019-10128: конфигурация Windows EnterpriseDB не удаляет разрешающие записи ACL
Поскольку установщики Windows EnterpriseDB и BigSQL не блокировали двоичный каталог установки PostgreSQL и разрешения каталога данных, непривилегированная учетная запись пользователя Windows и непривилегированная учетная запись PostgreSQL могут вызвать выполнение произвольного кода учетной записью службы PostgreSQL.
Эта уязвимость присутствует во всех поддерживаемых версиях PostgreSQL. для этих установщиков и может существовать в более ранних версиях. Вот почему разработчики призывают к обновлению:
«Пользователи, которые установили PostgreSQL с помощью EnterpriseDB и BigSQL Windows Installer, должны выполнить обновление как можно скорее. Точно так же пользователи, использующие любую версию PostgreSQL 9.5, 9.6, 10 и 11, также должны планировать обновление как можно скорее.
CVE-2019-10129: раскрытие памяти при маршрутизации разделов
До этого выпуска пользователь PostgreSQL 11 мог читать произвольные байты из памяти сервера, выполняя специально созданный оператор INSERT для многораздельной таблицы.
CVE-2019-10130: оценщики избирательности обходят политики безопасности линии
PostgreSQL ведет статистику для таблиц, отбирая доступные данные в столбцах.
Доступ к этим данным осуществляется в процессе планирования консультации. До этого выпуска пользователь, способный выполнять SQL-запросы с разрешениями на чтение в данном столбце, мог создать оператор с утечкой, который мог читать все данные, отображаемые в этом столбце.
Исправления ошибок и улучшения
Это обновление он также исправляет более 60 ошибок, о которых сообщалось за последние несколько месяцев. Некоторые из этих проблем относятся только к версии 11, но многие относятся ко всем поддерживаемым более ранним версиям.
Некоторые из этих исправлений включают:
- Различные исправления повреждения каталога, в том числе связанные с запуском ALTER TABLE в многораздельной таблице.
- Различные исправления раздела.
- Исправлены возможные сбои "не удается получить доступ к статусу транзакции" в txid_status ()
- Исправлено CREATE VIEW, чтобы разрешить несвязанные представления
- Исправлена несовместимость записей WAL индекса GIN, представленных в 11.2, 10.7, 9.6.12, 9.5.16 и 9.4.21, влияющая на серверы-реплики, на которых запущены эти версии, при чтении изменений в индексах GIN серверов. старые версии
- Различные исправления, связанные с утечками памяти и динамическим управлением общей памятью.
- Различные исправления в планировщике запросов, многие из которых должны улучшить планирование.
- Исправлена критическая проблема в гонке, когда менеджер самопотребления не мог остановиться после получения запроса Smart Stop.
По поводу обновлений
В проекте напоминается, что все версии обновлений PostgreSQL являются кумулятивными. Как и в случае с другими второстепенными версиями, пользователям не нужно выгружать и перезагружать свою базу данных или использовать pg_upgrade для применения этого обновления, просто остановите PostgreSQL и обновите двоичные файлы.
Пользователям, пропустившим одну или несколько версий обновления, возможно, потребуется предпринять дополнительные действия после обновления. Если вы находитесь в этой категории, вам следует обратиться к примечаниям к выпуску для предыдущих версий. Больше подробностей.
Наконец, команда разработчиков напоминает нам, что PostgreSQL 9.4 больше не будет получать исправления с 13 февраля 2020 года.