Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π²Π΅ΡΠΎΠΊ 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();
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru