CVE-2026-80561
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: libceph: decode_locker() fonksiyonundaki birden fazla güvenli olmayan çözümleme işlemi düzeltildi cls_lock_client.c dosyasındaki decode_locker() fonksiyonu, kötü niyetli veya ele geçirilmiş bir OSD'nin slab-out-of-bounds okumaları tetiklemesine izin veren üç adet güvenli olmayan çözümleme işlemi içermektedir: 1. locker_id_t name alanındaki ceph_decode_copy() işleminin öncesinde herhangi bir sınır kontrolü bulunmamaktadır. ceph_start_decoding() struct_len=0 değerini kabul ettikten sonra p == end durumu oluşursa, bu işlem doğrulanmış tampon sınırının ötesinden sizeof(ceph_entity_name) = 9 bayt okur. 2. locker_info_t başlığından sonra gelen *p += sizeof(struct ceph_timespec) işlemi, kontrol edilmeyen bir işaretçi ilerlemesidir. Kötü niyetli bir OSD, p'yi end'in ötesine konumlandırarak sonraki tüm _safe kontrollerinin sahte bir sınıra karşı başarılı olmasını sağlayabilir. 3. len = ceph_decode_32(p) işleminin öncesinde sınır kontrolü yoktur ve hemen ardından gelen *p += len işlemi kısıtlanmamıştır. Kötü niyetli bir OSD, len=0xffffffff göndererek p'yi end'den gigabaytlarca ileri taşıyabilir ve çözümleme penceresinden tamamen çıkabilir. Bu üç sorun, yalın işlemlerin güvenli varyantlarıyla değiştirilmesiyle düzeltilmiştir: ceph_decode_copy -> ceph_decode_copy_safe *p += sizeof(...) -> ceph_decode_skip_n ceph_decode_32(p) -> ceph_decode_32_safe *p += len -> ceph_decode_skip_n Herhangi bir sınır ihlalinde -EINVAL döndürmek için yeni bir etiket eklenmiştir. Burada -EINVAL kullanımı uygundur: OSD'den alınan veriler yapısal olarak hatalıdır; bu durum, hatanın çağırıcıdan mı yoksa iletim hattından mı kaynaklandığından bağımsız olarak çözümleme sözleşmesi için geçersiz bir argümandır. Saldırgan modeli: Çok kiracılı bir Ceph dağıtımındaki kötü niyetli veya ele geçirilmiş bir OSD, OSD oturumu kurmanın ötesinde herhangi bir ayrıcalığa sahip olmadan, lock.get_info sınıf yöntemini çağıran (örneğin RBD özel kilit edinimi sırasında) herhangi bir kernel istemcisine karşı bunu tetikleyebilir. [ idryomov: açıklamayı atlamak için ceph_decode_skip_string() kullanıldı, changelog kırpıldı ]
Nasıl düzeltilir
- Linux Linux1ed45c8d96498725eb54f740172f9068d8673906, 6265103e78f0ee7e2518de9cf938b94bee9700a0, 3c3716dc06a34e4ca7f743f5fcfa07fbc5a11070, fa4aa86fff0c56799c2e3f51a88879053285f4a9, dbfd83f722a78446ec18a476ef7a38e52240b50a, d1bba38574d095f191557d397d9633f08cd966b1, 51c8d238fe7236de627ab1a1433694552a904136, 437b6551cfcc235eea1d735a874f9d421f555e17 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | d4ed4a530562881cc5225050e42d96034f405aae ≤ v < 1ed45c8d96498725eb54f740172f9068d8673906, d4ed4a530562881cc5225050e42d96034f405aae ≤ v < 6265103e78f0ee7e2518de9cf938b94bee9700a0, d4ed4a530562881cc5225050e42d96034f405aae ≤ v < 3c3716dc06a34e4ca7f743f5fcfa07fbc5a11070, d4ed4a530562881cc5225050e42d96034f405aae ≤ v < fa4aa86fff0c56799c2e3f51a88879053285f4a9, d4ed4a530562881cc5225050e42d96034f405aae ≤ v < dbfd83f722a78446ec18a476ef7a38e52240b50a, d4ed4a530562881cc5225050e42d96034f405aae ≤ v < d1bba38574d095f191557d397d9633f08cd966b1, d4ed4a530562881cc5225050e42d96034f405aae ≤ v < 51c8d238fe7236de627ab1a1433694552a904136, d4ed4a530562881cc5225050e42d96034f405aae ≤ v < 437b6551cfcc235eea1d735a874f9d421f555e17, 4.9 | 1ed45c8d96498725eb54f740172f9068d8673906, 6265103e78f0ee7e2518de9cf938b94bee9700a0, 3c3716dc06a34e4ca7f743f5fcfa07fbc5a11070, fa4aa86fff0c56799c2e3f51a88879053285f4a9, dbfd83f722a78446ec18a476ef7a38e52240b50a, d1bba38574d095f191557d397d9633f08cd966b1, 51c8d238fe7236de627ab1a1433694552a904136, 437b6551cfcc235eea1d735a874f9d421f555e17 |
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.