CVE-2025-38463
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: tcp: skb kalan alan hesaplamasında işaretlilik düzeltildi Syzkaller, sk->sk_forward_alloc değerinin taşabileceği bir hata bildirdi [1]. Veri gönderdiğimizde, yazma kuyruğunun sonunda bir skb varsa, çekirdek yeni veriyi bu skb'ye eklemeye çalışır. Ancak skb'de kullanılabilir alanı kontrol eden kod hatalıdır: ''' copy = size_goal - skb->len ''' İlgili değişkenlerin türleri şöyledir: ''' copy: ssize_t (64 bit sistemlerde s64) size_goal: int skb->len: unsigned int ''' C'nin tür yükseltme kuralları nedeniyle, işaretli size_goal, çıkarma işleminden önce skb->len ile eşleşmesi için unsigned int'ye dönüştürülür. Sonuç unsigned int olur. Bu unsigned int sonucu daha sonra s64 copy değişkenine atandığında, negatif olmayan değeri korunarak sıfırla genişletilir. Sonuç olarak copy her zaman >= 0 olur. 2GB veri gönderdiğimizi ve size_goal değerinin skb->len'den daha küçük bir değere ayarlandığını varsayalım. Çıkarma işlemi sonucunda copy çok büyük bir pozitif tamsayı tutacaktır. Sonraki mantıkta bu büyük değer sk->sk_forward_alloc değerini güncellemek için kullanılır ve bu kolayca taşmaya neden olabilir. Syzkaller reprodüktörü bu durumu güvenilir şekilde oluşturmak için TCP_REPAIR kullanır. Ancak bu gerçek dünya senaryolarında da meydana gelebilir. tcp_bound_to_half_wnd() işlevi de size_goal değerini küçük bir değere düşürebilir. Bu, sonraki tcp_wmem_schedule() çağrısının sk->sk_forward_alloc değerini INT_MAX'a yakın bir değere ayarlamasına neden olur. Daha sonraki bellek ayırma istekleri sk_forward_alloc değerinin sarmalanmasına ve negatif olmasına neden olur. [1]: https://syzkaller.appspot.com/bug?extid=de6565462ab540f50e47
Nasıl düzeltilir
- linux linux_kernel6.6.99, 6.12.39, 6.15.7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 6.5 ≤ v < 6.6.99, 6.7 ≤ v < 6.12.39, 6.13 ≤ v < 6.15.7, 6.16 | 6.6.99, 6.12.39, 6.15.7 |
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.
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.