CVE-2026-90236
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: NFSD: Açık stateid'ler toplanırken dışa aktarım referansını serbest bırakın nfs4_put_stid(), nfs4_stid.sc_export içinde izlenen svc_export'u serbest bırakır; ancak free_ol_stateid_reaplist(), bu yolu atlayarak doğrudan ->sc_free() fonksiyonunu çağırıp açık ve kilit stateid'lerini serbest bırakır. Bir açık stateid, nfs4_open() içerisinde bir sc_export referansı alır ve bir kilit stateid ise init_lock_stateid() içerisinde kendi referansını alır; her ikisi de normal kaldırma işlemleri aracılığıyla—açık stateid release_open_stateid() üzerinden ve kilit stateid nfsd4_release_lockowner() üzerinden, her biri put_ol_stateid_locked() vasıtasıyla—free_ol_stateid_reaplist() fonksiyonuna ulaşır. Bu nedenle referans hiçbir zaman düşürülmez, bu da dışa aktarımı sabitler ve stateid'nin ömrü boyunca ayırmayı (unmount) engeller. free_ol_stateid_reaplist() içindeki sc_export'u, nfs4_put_stid()'nin yaptığı şekilde serbest bırakın. ->sc_free() her stateid için bir kez çalışır ve bir stateid ya free_ol_stateid_reaplist() ya da nfs4_put_stid() fonksiyonuna ulaşır ancak asla her ikisine birden ulaşmaz, böylece referans tam olarak bir kez düşürülür. İptal edilen stateid'ler, sc_export alanı drop_stid_export() tarafından zaten temizlenmiş olarak bu yola ulaştığından, iki kez serbest bırakılmak yerine atlanırlar. nfs4_put_stid() fonksiyonunun kendisi, cl_lock kilidini almadan önce sc_export'u okuyordu. drop_stid_export() bu alanı temizler ve referansı cl_lock altında serbest bırakır; dolayısıyla eşzamanlı bir iptal işlemi, okuma ile son put arasındaki pencerede dışa aktarımı düşürebilir ve aynı referansı iki kez serbest bırakabilir. İki yolun sıraya girmesi ve referansın tam olarak bir kez serbest bırakılması için sc_export'u cl_lock tutulurken okuyun.
Nasıl düzeltilir
- Linux Linux7458727fd7cb79d09e5120b6fecc1ad11cdb0946, 6480bd703684ed3f760e9e36c4a699033c0806ae ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | ba0cde5dc81d214684b8ea0bd87414ba2f48fe02 ≤ v < 7458727fd7cb79d09e5120b6fecc1ad11cdb0946, ba0cde5dc81d214684b8ea0bd87414ba2f48fe02 ≤ v < 6480bd703684ed3f760e9e36c4a699033c0806ae, 7.2 | 7458727fd7cb79d09e5120b6fecc1ad11cdb0946, 6480bd703684ed3f760e9e36c4a699033c0806ae |
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.