CVE-2023-52900

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: nilfs2: nilfs_btree_insert() fonksiyonundaki genel koruma hatası (general protection fault) düzeltildi nilfs2 bozuk bir disk görüntüsünü okuduğunda ve geçersiz bir sanal blok adresine karşı __nilfs_btree_get_block() çağırarak bir b-tree düğüm bloğunu okumaya çalıştığında, sanal blok adresinin disk blok adresine dönüştürülmesi başarısız olduğu için -ENOENT döndürür. Ancak bu dönüş değeri, b-tree arama rutinlerinin aranan bloğun mevcut olmadığını belirtmek için döndürdüğü dahili kodla aynıdır; bu nedenle söz konusu b-tree üzerinde işlem yapan fonksiyonlar hatalı davranabilir. nilfs_btree_insert(), nilfs_btree_do_lookup() fonksiyonundan gelen bu yanıltıcı 'bulunamadı' kodunu aldığında, 'bulunamadı' kontrolünün başarılı olduğunu yanlış anlar ve ekleme işlemini eksik arama yolu verilerini kullanarak sürdürür, bu da şu çökmeye neden olur: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f] ... RIP: 0010:nilfs_btree_get_nonroot_node fs/nilfs2/btree.c:418 [inline] RIP: 0010:nilfs_btree_prepare_insert fs/nilfs2/btree.c:1077 [inline] RIP: 0010:nilfs_btree_insert+0x6d3/0x1c10 fs/nilfs2/btree.c:1238 Code: bc 24 80 00 00 00 4c 89 f8 48 c1 e8 03 42 80 3c 28 00 74 08 4c 89 ff e8 4b 02 92 fe 4d 8b 3f 49 83 c7 28 4c 89 f8 48 c1 e8 03 <42> 80 3c 28 00 74 08 4c 89 ff e8 2e 02 92 fe 4d 8b 3f 49 83 c7 02 ... Call Trace: <TASK> nilfs_bmap_do_insert fs/nilfs2/bmap.c:121 [inline] nilfs_bmap_insert+0x20d/0x360 fs/nilfs2/bmap.c:147 nilfs_get_block+0x414/0x8d0 fs/nilfs2/inode.c:101 __block_write_begin_int+0x54c/0x1a80 fs/buffer.c:1991 __block_write_begin fs/buffer.c:2041 [inline] block_write_begin+0x93/0x1e0 fs/buffer.c:2102 nilfs_write_begin+0x9c/0x110 fs/nilfs2/inode.c:261 generic_perform_write+0x2e4/0x5e0 mm/filemap.c:3772 __generic_file_write_iter+0x176/0x400 mm/filemap.c:3900 generic_file_write_iter+0xab/0x310 mm/filemap.c:3932 call_write_iter include/linux/fs.h:2186 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x7dc/0xc50 fs/read_write.c:584 ksys_write+0x177/0x2a0 fs/read_write.c:637 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd ... </TASK> Bu yama, __nilfs_btree_get_block() fonksiyonunun blok adresi dönüştürme hatasında döndürdüğü hata kodunu -ENOENT yerine, b-tree meta verilerinin bozuk olduğu anlamına gelen başka bir dahili kod olan -EINVAL ile değiştirerek sorunun kök nedenini düzeltir. -EINVAL döndürülerek hata sorunsuz şekilde yayılır ve tüm ilgili b-tree işlemleri için üst bmap katmanındaki fonksiyonlar, nilfs_bmap_convert_error() aracılığıyla bozuk b-tree meta verilerini belirten bir hata mesajı verir ve sonuç olarak olması gerektiği gibi -EIO kodu döndürülür.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın21 Ağu 2024
İlk görülme21 Ağu 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel4.14.304, 4.19.271, 5.4.230, 5.10.165, 5.15.90, 6.1.8 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernelv < 4.14.304, 4.15 ≤ v < 4.19.271, 4.20 ≤ v < 5.4.230, 5.5 ≤ v < 5.10.165, 5.11 ≤ v < 5.15.90, 5.16 ≤ v < 6.1.8, 6.24.14.304, 4.19.271, 5.4.230, 5.10.165, 5.15.90, 6.1.8

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-2023-52900 · Linux Kernel · Dark Radar