← CVE Veritabanı

CVE-2026-80558

Kritik

Teknik Veri (Otomatik)

CVSS Skoru
9.8
EPSS
0.5%
CWE
—
KEV Durumu
Hayır

Yayım tarihi: 26 Ağustos 2026

Linux çekirdeğinde aşağıdaki güvenlik açığı çözülmüştür: libceph: Birincil geçici osd dizinlerinin geçersiz kullanımından kaçın Bir Ceph izleyicisi veya OSD'den alınan bozulmuş bir osdmap, pg_temp, primary_temp, pg_upmap ve pg_upmap_items kısımlarında mevcut olmayan, yani max_osd'dan büyük veya CEPH_HOMELESS_OSD (-1)'den küçük olan osd dizinleri içerebilir. Bu dizinler, ceph_pg_to_up_acting_osds() işlevinde, calc_target() işlevinden çağrılan up ve acting kümesini oluşturmak için kullanılır. Bu osd dizinlerinin çoğu kontrol edilir, ancak primary_temp'ten gelen dizin kontrol edilmez. Sonucunda, bu durum calc_target() işlevinin potentially geçersiz bir dizini bir istek için hedef osd olarak döndürmesine neden olabilir. osd_state, osd_weight ve osd_addr dizileri yalnızca max_osd girişi (0 ile max_osd -1 arasında dizinler) içerdiğinden, bu dizilerden değerler okumaya çalışırken sınırların dışına erişilmeye neden olur. Bu yama, get_temp_osds() işlevine bir kontrol ekleyerek bu sorunu çözer, böylece yalnızca primary_temp'ten geçerli osd dizinleri kullanılır ve geçersiz ise pg_temp'ten birincil veya up kümesine geri dönülür.

Orijinal açıklama (İngilizce)

In the Linux kernel, the following vulnerability has been resolved: libceph: Avoid using invalid osd indices from primary_temp A corrupted osdmap received from a Ceph monitor or OSD may contain osd indices in its pg_temp, primary_temp, pg_upmap, and pg_upmap_items parts that don't exist, i.e., that are greater than max_osd or smaller than CEPH_HOMELESS_OSD (-1). These indices are used to create the up and acting set in ceph_pg_to_up_acting_osds(), called from calc_target(). While most of these osd indices are checked, the one from primary_temp is not. Subsequently, this may lead to calc_target() returning this (potentially invalid) index as target osd for a (linger) request. Because the osd_state, osd_weight, and osd_addr arrays only contain max_osd entries (with indices 0 to max_osd -1), this leads to out-of-bounds accesses when trying to read values from these arrays. This patch fixes the issue by adding a check to get_temp_osds(), so that only valid osd indices from primary_temp are used, and it falls back to using the primary from pg_temp or the up set if it is invalid. [ idryomov: changelog ]

Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.