CVE-2026-72084

Kritik

Açıklama

Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: scsi: target: PR-OUT TransportID ayrıştırmasını alınan arabellekle sınırla core_scsi3_decode_spec_i_port() ve core_scsi3_emulate_register_and_move(), ham PERSISTENT RESERVE OUT parametre arabelleğini, kaç baytın geçerli olduğunu belirtmeden target_parse_pr_out_transport_id() işlevine aktarır. Bir iSCSI TransportID (FORMAT CODE 01b) için iscsi_parse_pr_out_transport_id(), ",i,0x" ISID ayırıcısını sınırsız bir strstr() ile bulur (ve hata yolunda adı daha da sınırsız bir "%s" ile yazdırır). Bir başlatıcı, iSCSI adı ne ",i,0x" alt dizesi ne de NUL sonlandırıcı içermeyen ve parametre listesini sonuna kadar dolduran bir TransportID gönderebilir; böylece tarama arabelleğin sonunu aşar. Parametre listesi birden fazla sayfaya yayıldığında arabellek çok sayfalı bir vmap'tir (transport_kmap_data_sg()), bu nedenle fazla okuma sondaki vmalloc koruma sayfasına girer ve oops oluşturur (strstr içinde KASAN: vmalloc-out-of-bounds). Bu duruma, bir iSCSI TPG aracılığıyla dışa aktarılan bir aygıta PR OUT ileten herhangi bir fabric, vhost-scsi üzerinden bir konuk dahil olmak üzere, erişebilir. Alınan bayt sayısını ayrıştırıcıya aktarın ve iSCSI TransportID'nin kendi tanımladığı uzunluğunu (ADDITIONAL LENGTH + 4) baştan bir kez doğrulayın: spc4r17 minimumunun altındaysa veya alınan arabellekten büyükse reddedin, ardından ayırıcı aramasını, ISID yürüyüşünü ve ad kopyalamasını bu uzunlukla sınırlayın. Bu, çağıranların ayrıştırmadan sonra zaten gerçekleştirdiği uzunluk denetimidir (core_scsi3_decode_spec_i_port() tid_len'i tpdl ile karşılaştırır, core_scsi3_emulate_register_and_move() bunu data_length'e karşı doğrular) ve taramanın önüne taşınmıştır. Ayrıca sonlandırılmamış adın sınırsız "%s" kullanımını kaldırın. i_str'ye kopyalamadan önce, min_t ile sessizce kesmek yerine biçim başına açık ad uzunluğu denetimleri ekleyin: FORMAT CODE 00b için tanımlayıcı gövdesi (tid_len - 4 bayt) i_str[TRANSPORT_IQN_LEN] içine sığmıyorsa reddedin; FORMAT CODE 01b için ad kısmı (&buf[4]'ten ayırıcıya kadar) sığmıyorsa reddedin. Her iki denetim de sınır niyetini her biçim dalında açık hale getirir. Bu arada, ",i,0x" ayırıcısı tanımlayıcının tam sonunda yer alan bir FORMAT CODE 01b TransportID'yi de reddedin: bu, boş bir ISID bırakır ve döndürülen port nexus işaretçisini tanımlayıcının bir ötesindeki buf + tid_len'e yönlendirir; kayıt kodu (__core_scsi3_locate_pr_reg(), __core_scsi3_alloc_registration()) bunu daha sonra ISID dizesi olarak başvurur -- bozuk bir tanımlayıcı için parametre arabelleğinin aynı şekilde fazla okunması.

ÖnemKritik
CVSS9.8
İstismar olasılığı—
ÜrünLinux
Yayın15 Ağu 2026
İlk görülme15 Ağu 2026

Nasıl düzeltilir

Güncelleyin
  • Linux Linux88c67c3de914e19172e1d878a7625c5b06c20ec5, 842248047ef28dbf3b3f7f49a0ec315054d4dab8, 03fbc7de8d5e85fc8420e57e8304c855efd453ab, 6ca5de8782e67573a61a6736b6dc0ffe58dcdf59, 9298078a8f7d8181a04614a34ab655ccdf038204, 004ccd2d3b4ac36a300e05e01df152e5c02a5a82, 555a89846ed888d7401b3f7200934c0fbedcbb46, d04a179085c262c9ed577d0a4cbc6482ff1fd9a3 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linuxc66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5 ≤ v < 88c67c3de914e19172e1d878a7625c5b06c20ec5, c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5 ≤ v < 842248047ef28dbf3b3f7f49a0ec315054d4dab8, c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5 ≤ v < 03fbc7de8d5e85fc8420e57e8304c855efd453ab, c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5 ≤ v < 6ca5de8782e67573a61a6736b6dc0ffe58dcdf59, c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5 ≤ v < 9298078a8f7d8181a04614a34ab655ccdf038204, c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5 ≤ v < 004ccd2d3b4ac36a300e05e01df152e5c02a5a82, c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5 ≤ v < 555a89846ed888d7401b3f7200934c0fbedcbb46, c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5 ≤ v < d04a179085c262c9ed577d0a4cbc6482ff1fd9a3, 2.6.3888c67c3de914e19172e1d878a7625c5b06c20ec5, 842248047ef28dbf3b3f7f49a0ec315054d4dab8, 03fbc7de8d5e85fc8420e57e8304c855efd453ab, 6ca5de8782e67573a61a6736b6dc0ffe58dcdf59, 9298078a8f7d8181a04614a34ab655ccdf038204, 004ccd2d3b4ac36a300e05e01df152e5c02a5a82, 555a89846ed888d7401b3f7200934c0fbedcbb46, d04a179085c262c9ed577d0a4cbc6482ff1fd9a3

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-2026-72084 · Linux · Dark Radar