CVE-2026-89664
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: nfsd: OPEN ile çözümlenen posix ACL'lerin op_release aracılığıyla serbest bırakılması nfsd4_decode_createhow4(), posix_acl_alloc() üzerinden referans sayımlı struct posix_acl nesneleri tahsis eden ve bunları open->op_pacl ile open->op_dpacl içinde saklayan nfsd4_decode_fattr4() fonksiyonunu çağırır. Bu işaretçiler, OPEN bileşik işlemi tamamlandığında serbest bırakılmalıdır. nfsd4_decode_open_claim4() seqid-mutating olmayan bir hata döndürdüğünde, dağıtıcı op_func çalışmadan önce kısa devre yapar: nfsd4_proc_compound() if (op->status && op->opnum == OP_OPEN) op->status = nfsd4_open_omfg(...) if (!seqid_mutating_err(ntohl(op->status))) return op->status; /* nfsd4_open() asla çalışmaz */ ... opdesc->op_release(&op->u) /* yine de op_pacl/op_dpacl serbest bırakılmalıdır */ Bu değişiklikten önce OP_OPEN'in nfsd4_ops[] içinde bir .op_release tanımlaması yoktu ve serbest bırakma çifti nfsd4_open() içindeki out_err: etiketinde yer alıyordu. Kısa devre yolunda nfsd4_open() hiçbir zaman çağrılmaz, bu nedenle geçerli POSIX ACL createhow4 öznitelikleri taşıyan her hatalı OPEN bileşiğinde her iki posix_acl referansı da sızdırılır. nfsd4_open_release() eklenmiş ve OP_OPEN için .op_release olarak bağlanmıştır. posix_acl_release() NULL-güvenlidir, dolayısıyla tek bir serbest bırakma noktası hem normal yolu hem de nfsd4_open_omfg kısa devresini kapsar. Çift serbest bırakmayı önlemek için nfsd4_open()'ın out_err: etiketindeki karşılık gelen posix_acl_release() çifti kaldırılmıştır. Bileşik döngünün iki kodlama dalı vardır: normal işlemler için nfsd4_encode_operation() ve v4.0 yeniden oynatılan (replayed) işlemler için nfsd4_encode_replay(). op_release yalnızca nfsd4_encode_operation() üzerinden çağrılıyordu, bu nedenle op->u'ya bağlı kaynaklar yeniden oynatma yolunda sızdırılıyordu. op_release() çağrısı nfsd4_encode_operation() ve yeniden oynatma dalının dışına taşınarak nfsd4_proc_compound() içindeki if-else bloğundan sonraya yerleştirilmiştir. Bu durum, hem normal kodlama hem de yeniden oynatma yollarını kapsayan, oldukça belirgin şekilde doğru bir konumda tek bir çağrı noktası sağlar.
Nasıl düzeltilir
- Linux Linux5b3a7d7c23c071efe12dd1bc1d2e5f97c4892921, 8215892993ea9f5231da4fa9eb42428a286fce8b ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 5fc51dfc2eb160bd7ab3251ab1767cacf9c8bf05 ≤ v < 5b3a7d7c23c071efe12dd1bc1d2e5f97c4892921, 5fc51dfc2eb160bd7ab3251ab1767cacf9c8bf05 ≤ v < 8215892993ea9f5231da4fa9eb42428a286fce8b, 7.0 | 5b3a7d7c23c071efe12dd1bc1d2e5f97c4892921, 8215892993ea9f5231da4fa9eb42428a286fce8b |
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.