Zostały wydane poprawki we wszystkich wspieranych wersjach PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17 i 12.21, które naprawiają 35 błędów i eliminują 3 podatności - jedną krytyczną i dwie niekrytyczne. Ogłoszono również zakończenie wsparcia dla wersji PostgreSQL 12, dla której aktualizacje nie będą już opracowywane.
Krytyczna podatność (CVE-2024-10979), której przypisano poziom zagrożenia 8.8 w skali 10, umożliwia lokalnemu użytkownikowi bazy danych z uprawnieniami do tworzenia funkcji PL/Perl wykonanie kodu z uprawnieniami użytkownika, pod którym działa baza danych. Podatność wynika z możliwości modyfikacji zmiennych środowiskowych procesu roboczego w funkcjach PL/Perl, w tym zmiennej PATH, określającej ścieżki do plików wykonywalnych, oraz specyficznych dla PostgreSQL zmiennych środowiskowych. Zauważono, że do przeprowadzenia ataku wystarczy dostęp do bazy danych i nie jest wymagana obecność konta w systemie. CREATE OR REPLACE FUNCTION plperl_set_env_var() RETURNS void AS $$ $ENV{‘ENV_VAR’} = ‘testval’; $$ LANGUAGE plperl; SELECT plperl_set_env_var();
Źródło: opennet.ru
