Сформированы корректирующие обновления для всех поддерживаемых веток PostgreSQL: 13.3, 12.7, 11.12, 10.17 и 9.6.22. Обновления для ветки 9.6 будут формироваться до ноября 2021 года, 10 — до ноября 2022 года, 11 — до ноября 2023 года, 12 — до ноября 2024 года, 13 до ноября 2025 года. В новых выпусках устранены три уязвимости и исправлены накопившиеся ошибки.

Уязвимость CVE-2021-32027 может привести к записи данных за границы буфера из-за целочисленного переполнения при вычислениях индексов массивов. Через манипуляцию со значениями массивов в SQL-запросах атакующий, имеющий доступ к выполнению запросов SQL, может записать любые данные в произвольную область памяти процесса и добиться выполнения своего кода с правами сервера СУБД. Две другие уязвимости (CVE-2021-32028, CVE-2021-32029) приводят у течке содержимого памяти процесса при манипуляции с запросами «INSERT … ON CONFLICT … DO UPDATE» и «UPDATE … RETURNING».

Из не связанных с уязвимостями исправлений можно выделить:

  • Устранение некорректных вычислений при выполнении «UPDATE … RETURNING» для обновления объединённых сегментированных таблиц.
  • Устранение сбоя команды «ALTER TABLE … ALTER CONSTRAINT» при
    наличии ограничений для внешних ключей в сочетании с использованием сегментированных таблиц.

  • Налажена работа функциональности «COMMIT AND CHAIN».
  • Для новых выпусков FreeBSD обеспечено выставление по умолчанию режима fdatasync в thatwal_sync_method.
  • Отключён по умолчанию параметр vacuum_cleanup_index_scale_factor.
  • Исправлены утечки памяти, проявляющиеся при инициализации TLS -соединений.
  • В pg_upgrade добавлены дополнительные проверки на наличие в пользовательских таблицах типов данных, не подлежащих обновлению.