CVE-2024-47745

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: mm: remap_file_pages()-də security_mmap_file() LSM hook funksiyasını çağırın remap_file_pages sistem çağırışı idarəçisi birbaşa do_mmap()-i çağırır və bu funksiya LSM təhlükəsizlik yoxlamasını ehtiva etmir. Əgər proses əvvəlcə personality(READ_IMPLIES_EXEC) funksiyasını çağırmışsa və RW səhifələri üçün remap_file_pages() çağırılarsa, bu, faktiki olaraq səhifələrin RWX kimi yenidən xəritələnməsinə gətirib çıxaracaq ki, bu da SELinux tərəfindən tətbiq edilən W^X siyasətindən yan keçmək deməkdir. Buna görə də, do_mmap() çağırılmazdan əvvəl remap_file_pages sistem çağırışı idarəçisində security_mmap_file LSM hook vasitəsilə prot yoxlanılmalıdır. Əks halda, bu, hücumçuya SELinux tərəfindən tətbiq edilən W^X siyasətini yan keçməyə potensial imkan verir. Bu yan keçmə, AIO vasitəsilə eyni şeyi yan keçən və [1]-də tapılan CVE-2016-10044 zəifliyinə bənzəyir. PoC: $ cat > test.c int main(void) { size_t pagesz = sysconf(_SC_PAGE_SIZE); int mfd = syscall(SYS_memfd_create, "test", 0); const char *buf = mmap(NULL, 4 * pagesz, PROT_READ | PROT_WRITE, MAP_SHARED, mfd, 0); unsigned int old = syscall(SYS_personality, 0xffffffff); syscall(SYS_personality, READ_IMPLIES_EXEC | old); syscall(SYS_remap_file_pages, buf, pagesz, 0, 2, 0); syscall(SYS_personality, old); // W^X siyasəti tətbiq edilsə belə, RWX səhifəsinin mövcud olduğunu göstərin int fd = open("/proc/self/maps", O_RDONLY); unsigned char buf2[1024]; while (1) { int ret = read(fd, buf2, 1024); if (ret <= 0) break; write(1, buf2, ret); } close(fd); } $ gcc test.c -o test $ ./test | grep rwx 7f1836c34000-7f1836c35000 rwxs 00002000 00:01 2050 /memfd:test (deleted) [PM: subject line tweaks]

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc21 okt 2024
İlk görülmə21 okt 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.1.120, 6.6.54, 6.10.13, 6.11.2 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernelv < 6.1.120, 6.2 ≤ v < 6.6.54, 6.7 ≤ v < 6.10.13, 6.11 ≤ v < 6.11.26.1.120, 6.6.54, 6.10.13, 6.11.2
debian debian_linux11.0—

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.

Intelligence 360 paketində

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.