CVE-2026-63811
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: f2fs: atomik yazma sırasında orijinal inode ile COW verisinin okunması Bir atomik-yazma dosyası güncellenirken, f2fs_write_begin() daha önce yazılmış olan verileri COW inode üzerinden geri okuyabilir: prepare_atomic_write_begin() bloğu COW inode içinde bulur ve use_cow değerini ayarlar, ardından okuma bio'su COW inode ile oluşturulur: f2fs_submit_page_read(use_cow ? F2FS_I(inode)->cow_inode : inode, ...); ve f2fs_grab_read_bio(), fscrypt_inode_uses_fs_layer_crypto() aracılığıyla söz konusu inode'a dayanarak bio için fs-katmanı şifre çözme işleminin (STEP_DECRYPT) planlanıp planlanmayacağına karar verir. Ancak doldurulmakta olan folio orijinal inode'a aittir (folio->mapping->host == inode) ve COW bloğunda saklanan veri, COW inode'un bağlamı yerine orijinal inode'un bağlamı kullanılarak şifrelenmiştir (veya düz metin olarak bırakılmıştır) -- fio->page->mapping->host üzerinden işlem yapan f2fs_encrypt_one_page() fonksiyonuna bakınız. Benzer şekilde fscrypt_decrypt_pagecache_blocks() da folio->mapping->host üzerinde çalışır. COW inode, üst dizinde bir tmpfile olarak oluşturulur ve şifreleme politikasını oradan devralır. test_dummy_encryption ile yeni oluşturulan COW inode dummy politikayı alır ve şifreli hale gelirken, politika uygulanmadan önce oluşturulmuş mevcut bir normal dosya (örneğin disk imajında halihazırda bulunan) şifresiz kalır. Okuma yolu daha sonra şifreli COW inode'a dayanarak STEP_DECRYPT değerini ayarlar ve ana bilgisayarı (şifresiz orijinal inode) NULL ->i_crypt_info olan bir folio üzerinde fscrypt_decrypt_pagecache_blocks() fonksiyonunu çağırarak bunu dereference eder: Oops: general protection fault, probably for non-canonical address ... KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] RIP: 0010:fscrypt_decrypt_pagecache_blocks+0xa0/0x310 Workqueue: f2fs_post_read_wq f2fs_post_read_work Call Trace: fscrypt_decrypt_bio+0x1eb/0x340 f2fs_post_read_work+0xba/0x140 process_one_work+0x91c/0x1a40 worker_thread+0x677/0xe90 kthread+0x2bc/0x3a0 COW inode yalnızca disk üzerindeki bloğu bulmak için gereklidir ve bu blok adresi zaten prepare_atomic_write_begin() tarafından __find_data_block(cow_inode, ...) aracılığıyla @blkaddr olarak çözülmüştür; f2fs_submit_page_read() daha sonra doğrudan o fiziksel @blkaddr adresinden okuma yapar, dolayısıyla inode argümanı hangi bloğun getirildiğini değil, sadece okuma sonrası kripto bağlamını seçer. Bu nedenle @inode ile okuma yapmak aynı (en güncel, henüz commit edilmemiş) COW verisini döndürürken, hem fs-katmanı şifre çözme kararının hem de satır içi kripto yolunun doğru (orijinal inode'un) anahtarını kullanmasını sağlar. Okuma noktasında artık COW inode kullanılmadığından, use_cow bayrağının başka bir tüketicisi kalmamıştır; bu bayrak f2fs_write_begin() ve prepare_atomic_write_begin() fonksiyonlarından kaldırılmıştır.
Nasıl düzeltilir
- Linux Linuxbcc9df992f3cbc43f2ecfe0b22e428e50f326e72, 655d55c5740d37ffdf6233ff5fe21cea879407f1, 7e4ab3907f44dc243d026048d7f5d477dae9267b, a92332f32a8d31a7eee47b1dc1d751cb3319908f, a41075acde0124d2f8a5f563068a5d63e8ffd57b ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 591fc34e1f98b0d7eef4aa3440bfdff3c5a1cadd ≤ v < bcc9df992f3cbc43f2ecfe0b22e428e50f326e72, 591fc34e1f98b0d7eef4aa3440bfdff3c5a1cadd ≤ v < 655d55c5740d37ffdf6233ff5fe21cea879407f1, 591fc34e1f98b0d7eef4aa3440bfdff3c5a1cadd ≤ v < 7e4ab3907f44dc243d026048d7f5d477dae9267b, 591fc34e1f98b0d7eef4aa3440bfdff3c5a1cadd ≤ v < a92332f32a8d31a7eee47b1dc1d751cb3319908f, 591fc34e1f98b0d7eef4aa3440bfdff3c5a1cadd ≤ v < a41075acde0124d2f8a5f563068a5d63e8ffd57b, 6.4 | bcc9df992f3cbc43f2ecfe0b22e428e50f326e72, 655d55c5740d37ffdf6233ff5fe21cea879407f1, 7e4ab3907f44dc243d026048d7f5d477dae9267b, a92332f32a8d31a7eee47b1dc1d751cb3319908f, a41075acde0124d2f8a5f563068a5d63e8ffd57b |
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.