Sistemə kök girişinə imkan verən firejail-də zəiflik

Firejail proqram təcrid yardım proqramında yerli istifadəçiyə host sistemində kök imtiyazları əldə etməyə imkan verən boşluq (CVE-2022-31214) müəyyən edilib. Firejail utiliti quraşdırılmış openSUSE, Debian, Arch, Gentoo və Fedora-nın cari buraxılışlarında sınaqdan keçirilmiş, ictimai sahədə mövcud işləyən istismar mövcuddur. Problem firejail 0.9.70 buraxılışında həll olunub. Qoruma üçün müvəqqəti həll yolu olaraq, parametrlərdə (/etc/firejail/firejail.config) “qoşulmaq yox” və “force-nonewprivs yes” parametrlərini təyin edə bilərsiniz.

Firejail təcrid üçün Linux-da ad boşluqlarından, AppArmor-dan və sistem zənglərinin filtrasiyasından (seccomp-bpf) istifadə edir, lakin təcrid olunmuş icranın qurulması üçün yüksək imtiyazlar tələb edir ki, bu da yardımçı bayraq suid kökünə bağlanaraq və ya sudo ilə işləməklə əldə edir. Zəifliyə “--join=” seçiminin məntiqindəki xəta səbəb olur. ", artıq işləyən təcrid olunmuş mühitə (qum qutusu mühiti üçün giriş əmrinin analoqu) orada işləyən proses identifikatoru tərəfindən mühitin tərifi ilə qoşulmaq üçün nəzərdə tutulmuşdur. Previlege sıfırlama mərhələsində firejail göstərilən prosesin imtiyazlarını müəyyənləşdirir və onları “-join” seçimindən istifadə edərək ətraf mühitə qoşulan yeni prosesə tətbiq edir.

Qoşulmazdan əvvəl, göstərilən prosesin firejail mühitində işlədiyini yoxlayır. Bu yoxlama /run/firejail/mnt/join faylının mövcudluğunu qiymətləndirir. Zəiflikdən istifadə etmək üçün təcavüzkar montaj ad məkanından istifadə edərək uydurma, təcrid olunmamış firejail mühitini simulyasiya edə və sonra “--join” seçimindən istifadə edərək ona qoşula bilər. Parametrlər yeni proseslərdə (prctl NO_NEW_PRIVS) əlavə imtiyazların əldə edilməsini qadağan etmək rejimini aktivləşdirmirsə, firejail istifadəçini dummy mühitə qoşacaq və başlanğıc prosesinin istifadəçi ad məkanı parametrlərini tətbiq etməyə çalışacaq (PID 1).

Nəticədə, "firejail -join" vasitəsilə qoşulan proses dəyişməz imtiyazlara malik istifadəçinin orijinal istifadəçi ID ad məkanında başa çatacaq, lakin tamamilə təcavüzkar tərəfindən idarə olunan fərqli bağlama nöqtəsi məkanında. Təcavüzkar həmçinin yaratdığı bağlama nöqtəsi məkanında setuid-root proqramlarını icra edə bilər ki, bu da, məsələn, fayl iyerarxiyasında /etc/sudoers parametrlərini və ya PAM parametrlərini dəyişdirməyə və sudo və ya istifadə edərək kök hüquqları ilə əmrləri yerinə yetirməyə imkan verir. su kommunal xidmətlər.

Mənbə: opennet.ru

Добавить комментарий