Suid proqramların yaddaş məzmununu müəyyən etməyə imkan verən systemd-coredump-da zəiflik

Sistemd-coredump komponentində zəiflik (CVE-2022-4415) müəyyən edilib ki, bu da proseslərin çökməsindən sonra yaranan əsas faylları emal edir və imtiyazsız yerli istifadəçiyə suid kök bayrağı ilə işləyən imtiyazlı proseslərin yaddaş məzmununu müəyyən etməyə imkan verir. Defolt konfiqurasiya problemi openSUSE, Arch, Debian, Fedora və SLES paylamalarında təsdiqlənib.

Zəifliyə systemd-coredump-da fs.suid_dumpable sysctl parametrinin düzgün işlənməməsi səbəb olur ki, bu da defolt dəyəri 2-yə təyin edildikdə suid bayrağı ilə proseslər üçün əsas tullantıların yaradılmasına imkan verir. Anlaşılır ki, nüvə tərəfindən yazılmış suid proseslərin əsas faylları yalnız kök istifadəçi tərəfindən oxunmağa imkan verən giriş hüquqlarına malik olmalıdır. Əsas faylları saxlamaq üçün kernel tərəfindən çağırılan systemd-coredump yardım proqramı əsas faylı kök identifikatoru altında saxlayır, lakin əlavə olaraq prosesi ilk dəfə başlatmış sahibin ID-si əsasında əsas fayllara ACL əsaslı oxu girişini təmin edir. .

Bu xüsusiyyət, proqramın istifadəçi identifikatorunu dəyişdirə biləcəyini və yüksək imtiyazlarla işləyə biləcəyini nəzərə almadan əsas faylları yükləməyə imkan verir. Hücum ondan ibarətdir ki, istifadəçi suid tətbiqini işə salıb ona SIGSEGV siqnalı göndərə və sonra anormal dayandırma zamanı prosesin yaddaş dilimini ehtiva edən əsas faylın məzmununu yükləyə bilər.

Məsələn, istifadəçi “/usr/bin/su” işlədə bilər və başqa terminalda “kill -s SIGSEGV `pidof su`” əmri ilə onun icrasını dayandıra bilər, bundan sonra systemd-coredump əsas faylı /var-da saxlayacaq. /lib/systemd/ coredump kataloqu, onun üçün cari istifadəçinin oxumasına imkan verən ACL təyin edir. Suid yardım proqramı 'su' /etc/shadow məzmununu yaddaşa oxuduğundan, təcavüzkar sistemdəki bütün istifadəçilərin parol heşləri haqqında məlumat əldə edə bilər. Sudo yardım proqramı hücuma həssas deyil, çünki ulimit vasitəsilə əsas faylların yaradılmasını qadağan edir.

Systemd tərtibatçılarının fikrincə, zəiflik systemd buraxılışı 247-dən (noyabr 2020-ci il) başlayaraq görünür, lakin problemi müəyyən edən tədqiqatçıya görə, buraxılış 246 da təsirlənir. Boşluq systemd libacl kitabxanası ilə tərtib edildikdə görünür (defolt olaraq bütün məşhur paylamalar). Düzəliş hazırda yamaq kimi mövcuddur. Dağıtımlardakı düzəlişləri aşağıdakı səhifələrdə izləyə bilərsiniz: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Təhlükəsizliyin həlli yolu kimi siz sysctl fs.suid_dumpable parametrini 0-a təyin edə bilərsiniz, bu da systemd-coredump işləyicisinə zibillərin göndərilməsini qeyri-aktiv edir.

Mənbə: opennet.ru

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