CVE-2026-89490
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: ocfs2: 32-bit çekirdeklerde readdir konum kırpılması düzeltildi ocfs2_dir_foreach_blk_el() fonksiyonunda, dizin çerezi konumu şu şekilde yeniden oluşturulur: ctx->pos = (ctx->pos & ~(sb->s_blocksize - 1)) | offset; `ctx->pos` loff_t (işaretli 64-bit) iken, `sb->s_blocksize` unsigned long tipindedir. 32-bit çekirdeklerde unsigned long 32-bittir, bu nedenle ~(sb->s_blocksize - 1) maskesi 32-bit işaretlenmemiş bir değer olarak hesaplanır (örneğin 4 KiB blok boyutu için 0xfffff000). 64-bit `ctx->pos` ile yapılan VE (AND) işleminde, standart aritmetik dönüşümler gereği bu işaretlenmemiş operand 64 bite sıfırla genişletilir ve sonuç 0x00000000fffff000 olur. Dizin boyutunun 4 GiB'ı aşmasına izin verilmesine rağmen, `ctx->pos` değerinin yüksek 32 biti sessizce temizlenir. Bir 32-bit çekirdekte readdir() 4 GiB sınırını geçtiğinde, konum ilk 4 GiB bloğuna geri sıfırlanır ve bu durum yeniden doğrulama yolunun halihazırda döndürülmüş olan dirent öğelerini süresiz olarak yeniden listelemesine neden olur. Bu, tüm satır içi olmayan (non-inline) dizinler için kullanılan extent-list readdir yolu olan ocfs2_dir_foreach_blk_el() fonksiyonudur, dolayısıyla 4 GiB'ı geçecek kadar büyük bir dizin buraya ulaşır. Bu hata, 3dce5bb82c97 ("exfat: Fix bitwise operation having different size") commit'inin exfat üzerinde düzelttiği hata sınıfıyla aynıdır ve çözüm, bu serideki eşdeğer ext4 düzeltmesini yansıtmaktadır. Maskenin VE işleminden önce 64-bit olması için operand loff_t tipine dönüştürülmüştür: ctx->pos = (ctx->pos & ~((loff_t)sb->s_blocksize - 1)) | offset; 64-bit çekirdekler bu durumdan etkilenmemektedir.
Nasıl düzeltilir
- Linux Linuxc28dc3407937aa8f225942538cd585c9b28ea65a, 94569154ba49f5f85645d2019c8e206213d8404e, 1ae7029823ae4c91664cb32eec7fb8dd5e1a337a, f9dd5cad8d09110ddff2db1fe756aae93c7552ff, 1001fb3b69a11eaa0dc7c7428f6edfa48b88997a, c0c165487a2ea5a37ddcdab4259157b7a527129c, b53e2b271eeb6040c2a4a78230c570dc41cdcfa4, a63308ab426f3a3c7e33b02c150ea59054620261 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | ccd979bdbce9fba8412beb3f1de68a9d0171b12c ≤ v < c28dc3407937aa8f225942538cd585c9b28ea65a, ccd979bdbce9fba8412beb3f1de68a9d0171b12c ≤ v < 94569154ba49f5f85645d2019c8e206213d8404e, ccd979bdbce9fba8412beb3f1de68a9d0171b12c ≤ v < 1ae7029823ae4c91664cb32eec7fb8dd5e1a337a, ccd979bdbce9fba8412beb3f1de68a9d0171b12c ≤ v < f9dd5cad8d09110ddff2db1fe756aae93c7552ff, ccd979bdbce9fba8412beb3f1de68a9d0171b12c ≤ v < 1001fb3b69a11eaa0dc7c7428f6edfa48b88997a, ccd979bdbce9fba8412beb3f1de68a9d0171b12c ≤ v < c0c165487a2ea5a37ddcdab4259157b7a527129c, ccd979bdbce9fba8412beb3f1de68a9d0171b12c ≤ v < b53e2b271eeb6040c2a4a78230c570dc41cdcfa4, ccd979bdbce9fba8412beb3f1de68a9d0171b12c ≤ v < a63308ab426f3a3c7e33b02c150ea59054620261, 2.6.16 | c28dc3407937aa8f225942538cd585c9b28ea65a, 94569154ba49f5f85645d2019c8e206213d8404e, 1ae7029823ae4c91664cb32eec7fb8dd5e1a337a, f9dd5cad8d09110ddff2db1fe756aae93c7552ff, 1001fb3b69a11eaa0dc7c7428f6edfa48b88997a, c0c165487a2ea5a37ddcdab4259157b7a527129c, b53e2b271eeb6040c2a4a78230c570dc41cdcfa4, a63308ab426f3a3c7e33b02c150ea59054620261 |
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.