CVE-2026-23383
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: bpf, arm64: Atomik yırtılmanın (atomic tearing) qarşısını almaq üçün JIT buferi üçün 8 baytlıq hizalanmanı məcburi etmək struct bpf_plt u64 target sahəsini ehtiva edir. Hazırda BPF JIT allokatoru JIT buferi üçün 4 baytlıq (sizeof(u32)) hizalanma tələb edir. JIT buferinin baza ünvanı 4 baytla hizalandığı üçün (məsələn, 0x4 və ya 0xc ilə bitdikdə), build_plt() funksiyasındakı nisbi doldurma (padding) məntiqi target sahəsinin 8 baytlıq sərhədə düşməsini təmin edə bilmir. Bu, iki problemə yol açır: 1. Struktur dereferensiya edilərkən UBSAN yanlış hizalanmış giriş (misaligned-access) xəbərdarlıqları verir. 2. Daha kritik olan odur ki, JIT kodu ldr əmrini icra edərkən, target sahəsi bpf_arch_text_poke() daxilində WRITE_ONCE() vasitəsilə eyni vaxtda yenilənir. arm64 memarlığında 64-bit yükləmələrin/yazmaların tək nüsxəli atomik olması yalnız onların 64-bit hizalı olması halında təmin edilir. Yanlış hizalanmış target yırtılmış oxuma (torn read) riskini yaradır ki, bu da JIT-in korlanmış ünvana tullanmasına səbəb olur. Bu problem bpf_jit_binary_pack_alloc() funksiyasında allokasiya hizalanma tələbinin 8 bayta (sizeof(u64)) artırılması ilə həll edilmişdir. Bu, JIT buferinin bazasını 8 baytlıq sərhədə bağlayaraq build_plt() funksiyasındakı nisbi doldurma hesablamalarının target sahəsini düzgün şəkildə hizalamasına imkan verir.
Necə düzəltmək olar
- linux linux_kernel6.12.77, 6.18.17, 6.19.7 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 6.0.1 ≤ v < 6.12.77, 6.13 ≤ v < 6.18.17, 6.19 ≤ v < 6.19.7, 6.0, 7.0 | 6.12.77, 6.18.17, 6.19.7 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.