CVE-2024-35871

Yüksek

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: riscv: process: Kernel gp sızıntısı düzeltildi childregs, kullanıcı bağlamında yeni iş parçacığı için aktif olan yazmaçları temsil eder. Bir kernel iş parçacığı için childregs->gp hiçbir zaman kullanılmaz çünkü kernel gp, switch_to tarafından değiştirilmez. Bir user mode helper için gp değeri, execve sonrasında veya muhtemelen diğer yollarla kullanıcı alanında gözlemlenebilir. [E-posta zincirinden] /* Kernel thread */ yorumu, bir kullanıcı sürecini (örneğin /sbin/init) çalıştıran veya /proc/sys/kernel/core_pattern bir boru hattı olduğunda kullanılan user_mode_helper iş parçacıkları için de kullanıldığı için kısmen hatalıdır. Bu tür iş parçacıklarında PF_KTHREAD ayarlanmamıştır ve henüz exec yapmadan önce bile ptrace vb. için geçerli hedeflerdir. childregs, sistem çağrısı yürütülmesi sırasındaki *kullanıcı* bağlamıdır ve kullanıcı alanından en az beş şekilde gözlemlenebilir: 1. kernel_execve şu anda tam sayı yazmaçlarını temizlememektedir; bu nedenle PID 1 ve kernel tarafından başlatılan diğer kullanıcı süreçleri için başlangıç yazmaç durumu sp = kullanıcı yığını, gp = kernel __global_pointer$ şeklindedir ve diğer tüm tam sayı yazmaçları yama yorumundaki memset ile sıfırlanmıştır. Bu durum kendi başına bir hatadır ancak bu yamayla ele alınan sorunu istismar etmenin tek yolunun bu olduğuna dair bahis oynamak istemiyorum. 2. ptrace(PTRACE_GETREGSET): Bir user_mode_helper iş parçacığına exec yapmadan önce PTRACE_ATTACH ile bağlanabilirsiniz, ancak ptrace, yalnızca kullanıcı/kernel sınırlarında gerçekleşebilecek bir SIGSTOP iletilmesini gerektirir. 3. /proc/*/task/*/syscall: Bu yöntem, exec tamamlanmadan önce user_mode_helper'lar için pt_regs okumayı sorunsuz gerçekleştirir, ancak gp döndürdüğü yazmaçlardan biri değildir. 4. PERF_SAMPLE_REGS_USER: LOCKDOWN_PERF normalde PERF_SAMPLE_REGS_INTR aracılığıyla kernel adreslerine erişimi engeller, ancak bu hata nedeniyle kernel adresleri, LOCKDOWN_PERF altında izin verilen PERF_SAMPLE_REGS_USER üzerinden de ifşa edilmektedir. İstismar kodu yazmayı denemedim. 5. İzleme altyapısının büyük bir kısmı kullanıcı yazmaçlarına erişime izin verir. Hangi izleme biçimlerinin, halihazırda kernel yazmaçlarına erişime izin vermeden kullanıcı yazmaçlarına erişime izin verdiğini belirlemeye çalışmadım.

ÖnemYüksek
CVSS7.1
İstismar olasılığı—
ÜrünLinux Kernel
Yayın19 May 2024
İlk görülme19 May 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.10.216, 5.15.154, 6.1.85, 6.6.26, 6.8.5 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel4.15 ≤ v < 5.10.216, 5.11 ≤ v < 5.15.154, 5.16 ≤ v < 6.1.85, 6.2 ≤ v < 6.6.26, 6.7 ≤ v < 6.8.5, 6.95.10.216, 5.15.154, 6.1.85, 6.6.26, 6.8.5
debian debian_linux10.0—

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.

CVE-2024-35871 · Linux Kernel · Dark Radar