CVE-2025-38463

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: tcp: skb qalıq sahəsinin hesablanmasında imzalanmışlıq düzəldildi Syzkaller, sk->sk_forward_alloc dəyişəninin daşa biləcəyi bir xəta [1] bildirmişdir. Məlumat göndərdikdə, əgər yazı növbəsinin sonunda bir skb mövcuddursa, kernel yeni məlumatları həmin skb-yə əlavə etməyə çalışacaq. Lakin, skb-də mövcud sahəni yoxlayan kod qüsurludur: ''' copy = size_goal - skb->len ''' İştirak edən dəyişənlərin tipləri belədir: ''' copy: ssize_t (64 bitli sistemlərdə s64) size_goal: int skb->len: unsigned int ''' C dilinin tip artırma qaydalarına görə, çıxma əməliyyatından əvvəl imzalanmış size_goal, skb->len ilə uyğunlaşmaq üçün unsigned int tipinə çevrilir. Nəticə unsigned int olur. Bu unsigned int nəticəsi daha sonra s64 copy dəyişəninə mənimsədildikdə, sıfırla genişləndirilir və onun qeyri-mənfi dəyəri qorunur. Nəticə etibarilə, copy hər zaman >= 0 olur. Tutaq ki, biz 2 QB məlumat göndəririk və size_goal skb->len-dən kiçik bir dəyərə tənzimlənib. Çıxma əməliyyatı nəticəsində copy çox böyük müsbət tam ədəd qəbul edəcək. Sonrakı məntiqdə bu böyük dəyər sk->sk_forward_alloc dəyişənini yeniləmək üçün istifadə olunur ki, bu da onun asanlıqla daşmasına səbəb ola bilər. Syzkaller reproduceri bu şəraiti etibarlı şəkildə yaratmaq üçün TCP_REPAIR-dən istifadə edir. Lakin bu, real ssenarilərdə də baş verə bilər. tcp_bound_to_half_wnd() funksiyası da size_goal dəyərini kiçik bir rəqəmə endirə bilər. Bu isə sonrakı tcp_wmem_schedule() funksiyasının sk->sk_forward_alloc dəyərini INT_MAX-a yaxın bir rəqəmə təyin etməsinə səbəb olar. Daha sonrakı yaddaş ayırmaq sorğuları issa sk_forward_alloc-un dövr edərək mənfi olması ilə nəticələnərdi. [1]: https://syzkaller.appspot.com/bug?extid=de6565462ab540f50e47

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc25 iyl 2025
İlk görülmə25 iyl 2025

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.6.99, 6.12.39, 6.15.7 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel6.5 ≤ v < 6.6.99, 6.7 ≤ v < 6.12.39, 6.13 ≤ v < 6.15.7, 6.166.6.99, 6.12.39, 6.15.7

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.

CVE-2025-38463 · Linux Kernel · Dark Radar