CVE-2026-17347
Təsvir
pgAdmin 4 7.2 versiyasında təqdim edilən MASTER_PASSWORD_HOOK parametri, administratora hər istifadəçi üçün şifrələmə açarı qaytaran xarici əmr konfiqurasiya etməyə imkan verir və burada konfiqurasiya edilmiş sətirdəki %u simvolu cari istifadəçinin adı ilə əvəz olunur. Əvvəlki tətbiqdə istifadəçi adı birbaşa əmr sətrinə daxil edilir və nəticə subprocess.Popen(..., shell=True) vasitəsilə icra edilirdi. İstifadəçi adı pgAdmin-in tam nəzarət etdiyi dəyərdən daha çox, xarici autentifikasiya mənbəyindən (OAuth/OIDC iddiaları, Kerberos, vebserver autentifikasiyası) gələ bildiyi üçün, shell meta-simvolları (';', '$()', geri dırnaqlar, borular, '&&', yeni sətirlər) ehtiva edən istifadəçi adı, konfiqurasiya edilmiş hook sətirində %u istifadə olunan hər hansı tətbiqdə autentifikasiya olunmuş istifadəçiyə pgAdmin servis hesabı kimi ixtiyari əmrləri icra etməyə imkan verirdi. Düzəliş, administrator tərəfindən konfiqurasiya edilmiş etibarlı hook sətirini əvvəlcə arqument vektoruna bölür (POSIX-quoting rejimində shlex istifadə edərək, Windows tipli yolların yanlış təhlil edilməməsi üçün geri slash-lərlə qaçırma funksiyasını söndürməklə), etibarsız istifadəçi adını fərdi argv elementlərinə yerləşdirir və shell=False ilə icra edir. Beləliklə, istifadəçi adı həmişə tək bir argv elementi ilə məhdudlaşdırılır; onun tərkibindəki hər hansı shell meta-simvolları passiv qalır. MASTER_PASSWORD_HOOK parametrinə əvvəllər hook sətirinin özündə shell funksiyaları (borular, yönləndirmə, mühit dəyişənlərinin genişləndirilməsi, globbing) əsaslanan administratorlar bu məntiqi çağırılan skriptə köçürməlidirlər, çünki artıq onlar shell tərəfindən şərh edilmir. Bu problem pgAdmin 4-ün 7.2-dən 9.17-yə qədər olan versiyalarına təsir edir.
Necə düzəltmək olar
- pgadmin pgadmin_49.17 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| pgadmin pgadmin_4 | 7.2 ≤ v < 9.17 | 9.17 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.