CVE-2025-38434
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: Revert "riscv: Define TASK_SIZE_MAX for __access_ok()" Bu, ad5643cf2f69 ("riscv: Define TASK_SIZE_MAX for __access_ok()") komitini ləğv edir. Həmin komit, access_ok() funksiyasını optimallaşdırmaq üçün TASK_SIZE_MAX dəyişənini LONG_MAX olaraq dəyişmişdi, çünki əvvəlki TASK_SIZE_MAX (defolt olaraq TASK_SIZE) müəyyən hesablamalar tələb edirdi. Bunun əsaslandırması ondan ibarət idi ki, bütün istifadəçi ünvanları LONG_MAX-dan kiçik, bütün nüvə ünvanları isə LONG_MAX-dan böyükdür. Buna görə də access_ok() nüvə ünvanlarını filtrləyə bilərdi. TASK_SIZE və LONG_MAX arasındakı ünvanlar etibarlı istifadəçi ünvanları deyil, lakin access_ok() onların keçməsinə icazə verirdi. Bu, aparat səviyyəsində etibarsız ünvanlar olduqları üçün normal qarşılanırdı. Təəssüf ki, bir hal nəzərə alınmamışdı: get_user_pages_fast() TASK_SIZE və LONG_MAX arasındakı ünvanları problemsiz qəbul edir. Məsələn, futex() funksiyası get_user_pages_fast()-dən istifadə edir. Bu isə Robert [1] tərəfindən bildirilən problemə səbəb olur. Buna görə də, bu komit ləğv edilir. TASK_SIZE_MAX defolt dəyəri olan TASK_SIZE-a qaytarılır. Təəssüf ki, bu performansın azalmasına səbəb olur, çünki TASK_SIZE-ın hesablanması LONG_MAX ilə müqayisədə daha bahalıdır. Lakin düzgünlük hər şeydən önəmlidir, ehtiyac yaranarsa, optimallaşdırma haqqında daha sonra düşünə bilərik.
Necə düzəltmək olar
- linux linux_kernel6.12.36, 6.15.5 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 6.10 ≤ v < 6.12.36, 6.13 ≤ v < 6.15.5, 6.16 | 6.12.36, 6.15.5 |
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.