CVE-2022-50239
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: cpufreq: qcom: yalnız oxuna bilən yaddaş sahəsinə yazma əməliyyatlarının düzəldilməsi Bu commit, bəzi yalnız oxuna bilən yaddaşa yazma cəhdi səbəbindən baş verən kernel oops xətasını düzəldir: [ 9.068287] Unable to handle kernel write to read-only memory at virtual address ffff800009240ad8 ..snip.. [ 9.138790] Internal error: Oops: 9600004f [#1] PREEMPT SMP ..snip.. [ 9.269161] Call trace: [ 9.276271] __memcpy+0x5c/0x230 [ 9.278531] snprintf+0x58/0x80 [ 9.282002] qcom_cpufreq_msm8939_name_version+0xb4/0x190 [ 9.284869] qcom_cpufreq_probe+0xc8/0x39c ..snip.. Aşağıdakı sətir yalnız oxuna bilən yaddaşda saxlanılan char buferinə işarə edən göstəricini təyin edir: char *pvs_name = "speedXX-pvsXX-vXX"; Bu göstərici, XX dəyərlərinin qcom_cpufreq_krait_name_version funksiyası tərəfindən əvəz edildiyi "speedXX-pvsXX-vXX" şablonunu saxlamaq üçün nəzərdə tutulub. Şablon faktiki olaraq yalnız oxuna bilən yaddaşda saxlandığı üçün, funksiya aşağıdakı çağırışı yerinə yetirdikdə oops xətası baş verir: snprintf(*pvs_name, sizeof("speedXX-pvsXX-vXX"), "speed%d-pvs%d-v%d", speed, pvs, pvs_ver); Bu problemi həll etmək üçün biz şablon adını aşağıdakı sintaksisdən istifadə edərək stekdə saxlayırıq: char pvs_name_buffer[] = "speedXX-pvsXX-vXX"; `pvs_name` dəyişəninə NULL mənimsədilə bilməsi gərək olduğu üçün, şablon buferi pvs_name dəyişəni altında deyil, pvs_name_buffer-də saxlanılır.
Necə düzəltmək olar
- linux linux_kernel5.10.152, 5.15.76, 6.0.6 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 | 5.7 ≤ v < 5.10.152, 5.11 ≤ v < 5.15.76, 5.16 ≤ v < 6.0.6, 6.1 | 5.10.152, 5.15.76, 6.0.6 |
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.