Сформированы корректирующие обновления для всех поддерживаемых веток 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 добавлены дополнительные проверки на наличие в пользовательских таблицах типов данных, не подлежащих обновлению.