Сформированы корректирующие обновления для всех поддерживаемых веток PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17 и 12.21, в которых исправлены 35 ошибок и устранены 3 уязвимости - одна опасная и две неопасных. Также объявлено о прекращении поддержки ветки PostgreSQL 12, обновления для которой больше формироваться не будут.
Опасная уязвимость (CVE-2024-10979), который присвоен уровень опасности 8.8 из 10, позволяет любому пользователю СУБД, обладающему правами на создание функций PL/Perl, добиться выполнения кода с правами пользователя, под которым работает СУБД. Уязвимость вызвана тем, что в функциях PL/Perl можно изменить переменные окружения рабочего процесса, включая переменную PATH, определяющую пути к исполняемым файлам, и специфичные для PostgreSQL переменные окружения. Отмечается, что для совершения атаки достаточно доступа к СУБД и не требуется наличие учётной записи в операционной системе.
CREATE OR REPLACE FUNCTION plperl_set_env_var()
RETURNS void AS
$$
$ENV{'ENV_VAR'} = 'testval';
$$ LANGUAGE plperl;
SELECT plperl_set_env_var();
Дополнение: В опубликованных выпусках выявлены регрессивные изменения, для исправления которых 21 ноября решено сформировать внеплановые обновления PostgreSQL 17.2, 16.6, 15.10, 14.15, 13.20 и 12.22. В частности, исправление уязвимости CVE-2024-10978 привело к неработоспособности конструкций "ALTER USER ... SET ROLE ...". Кроме того на уровне ABI нарушена совместимость с некоторыми дополнениями, использующими структуру ResultRelInfo (проблема решается пересборкой дополнений).
|