CVE-2026-45839

Yüksek

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: bpf: bpf_core_parse_spec() fonksiyonundaki negatif CO-RE erişici indeksleri reddedin CO-RE erişici dizeleri, bir kök BTF türünden hedef alana giden yolu tanımlayan iki nokta üst üste ile ayrılmış indekslerdir; örneğin "0:1:2" iç içe geçmiş struct üyeleri arasında gezinir. bpf_core_parse_spec(), her bileşeni sscanf("%d") ile ayrıştırdığından, -1 gibi negatif değerler sessizce kabul edilir. Sonraki sınır kontrolleri (access_idx >= btf_vlen(t)) yalnızca üst sınırı korur ve negatif değerler için her zaman geçerli olur çünkü C tam sayı terfisi (integer promotion), __u16 btf_vlen sonucunu int türüne dönüştürerek herhangi bir pozitif N için (int)(-1) >= (int)(N) karşılaştırmasını yanlış yapar. -1 değeri btf_member_bit_offset() fonksiyonuna ulaştığında u32 0xffffffff değerine dönüştürülür ve bu da members dizisinin çok ötesinde bir sınır dışı okuma (out-of-bounds read) işlemine neden olur. vmlinux BTF içinde mevcut olan herhangi bir struct üzerinde (örneğin task_struct) negatif bir CO-RE erişicisine sahip özel olarak hazırlanmış bir BPF programı, CONFIG_DEBUG_INFO_BTF=y seçeneğinin etkin olduğu (başlıca dağıtımlarda varsayılan) herhangi bir sistemde BPF_PROG_LOAD sırasında çekirdeği belirgin şekilde çökertebilir. Hata, CAP_BPF yetkisiyle tetiklenebilir: BUG: unable to handle page fault for address: ffffed11818b6626 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page Oops: Oops: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 85 Comm: poc Not tainted 7.0.0-rc6 #18 PREEMPT(full) RIP: 0010:bpf_core_parse_spec (tools/lib/bpf/relo_core.c:354) RAX: 00000000ffffffff Call Trace: <TASK> bpf_core_calc_relo_insn (tools/lib/bpf/relo_core.c:1321) bpf_core_apply (kernel/bpf/btf.c:9507) check_core_relo (kernel/bpf/verifier.c:19475) bpf_check (kernel/bpf/verifier.c:26031) bpf_prog_load (kernel/bpf/syscall.c:3089) __sys_bpf (kernel/bpf/syscall.c:6228) </TASK> CO-RE erişici indeksleri doğası gereği negatif olamazlar (struct üye indeksi, dizi eleman indeksi veya numaralandırıcı indeksi), bu nedenle ayrıştırma işleminden hemen sonra reddedilmelidirler.

ÖnemYüksek
CVSS7.8
İstismar olasılığı—
ÜrünLinux Kernel
Yayın27 May 2026
İlk görülme27 May 2026

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.15.209, 6.1.175, 6.6.141, 6.12.91, 6.18.33, 7.0.10 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.4 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.141, 6.7 ≤ v < 6.12.91, 6.13 ≤ v < 6.18.33, 6.19 ≤ v < 7.0.105.15.209, 6.1.175, 6.6.141, 6.12.91, 6.18.33, 7.0.10

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.

Intelligence 360 paketinde

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.

CVE-2026-45839 · Linux Kernel · Dark Radar