CVE-2022-48862
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: vhost: hatalı iotlb girişleri nedeniyle asılı kalan iş parçacığının düzeltilmesi vhost_iotlb_add_range_ctx() fonksiyonunda, start değeri 0 ve last değeri ULONG_MAX olduğunda aralık boyutu taşarak 0 olabilir. Bunun gerçekleşebileceği durumlardan biri, kullanıcı alanının iova=size=uaddr=0 değerlerine sahip bir IOTLB mesajı göndermesidir (vhost_process_iotlb_msg). Bu durumda; size = 0, start = 0, last = ULONG_MAX olan bir giriş iotlb'ye eklenir. Bir sonraki paket gönderiminde, iotlb_access_ok() bu hatalı giriş nedeniyle sonsuz döngüye girer. Call Trace: <TASK> iotlb_access_ok+0x21b/0x3e0 drivers/vhost/vhost.c:1340 vq_meta_prefetch+0xbc/0x280 drivers/vhost/vhost.c:1366 vhost_transport_do_send_pkt+0xe0/0xfd0 drivers/vhost/vsock.c:104 vhost_worker+0x23d/0x3d0 drivers/vhost/vhost.c:372 kthread+0x2e9/0x3a0 kernel/kthread.c:377 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 </TASK> syzbot tarafından raporlanmıştır: https://syzkaller.appspot.com/bug?extid=0abd373e2e50d704db87 Bunu düzeltmek için iki işlem yapılmıştır: 1. Kullanıcı alanı boyutun 0 olduğu bir aralığın eşlenmesini istediğinde vhost_chr_write_iter() fonksiyonunda -EINVAL döndürülür. 2. vhost_iotlb_add_range_ctx() fonksiyonu, [0, ULONG_MAX] aralığını iki girişe bölerek işleyecek şekilde düzeltilmiştir.
Nasıl düzeltilir
- linux linux_kernel5.15.29, 5.16.15 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 | 5.7 ≤ v < 5.15.29, 5.16 ≤ v < 5.16.15 | 5.15.29, 5.16.15 |
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.