CVE-2024-56649

Orta

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: net: enetc: SI-lər dəstəkləmirsə, preemtible TC-ləri konfiqurasiya etməyin Həm ENETC PF, həm də VF drayverləri MQPRIO-nu konfiqurasiya etmək üçün enetc_setup_tc_mqprio() funksiyasından istifadə edir. enetc_setup_tc_mqprio() isə preemtible TC-ləri konfiqurasiya etmək üçün enetc_change_preemptible_tcs() funksiyasını çağırır. Lakin yalnız PF preemtible TC-ləri konfiqurasiya edə bilir. Çünki müvafiq registrlərə yalnız PF malikdir, VF-də isə bu registrlər yoxdur. Buna görə də VF üçün hw->port göstəricisi NULL olur. Nəticədə, VF mövcud olmayan registrə müraciət edərkən etibarsız göstəriciyə müraciət edir ki, bu da sistemin çökməsinə (crash) səbəb olur. Sadələşdirilmiş loq aşağıdakı kimidir: root@ls1028ardb:~# tc qdisc add dev eno0vf0 parent root handle 100: \ mqprio num_tc 4 map 0 0 1 1 2 2 3 3 queues 1@0 1@1 1@2 1@3 hw 1 [ 187.290775] Unable to handle kernel paging request at virtual address 0000000000001f00 [ 187.424831] pc : enetc_mm_commit_preemptible_tcs+0x1c4/0x400 [ 187.430518] lr : enetc_mm_commit_preemptible_tcs+0x30c/0x400 [ 187.511140] Call trace: [ 187.513588] enetc_mm_commit_preemptible_tcs+0x1c4/0x400 [ 187.518918] enetc_setup_tc_mqprio+0x180/0x214 [ 187.523374] enetc_vf_setup_tc+0x1c/0x30 [ 187.527306] mqprio_enable_offload+0x144/0x178 [ 187.531766] mqprio_init+0x3ec/0x668 [ 187.535351] qdisc_create+0x15c/0x488 [ 187.539023] tc_modify_qdisc+0x398/0x73c [ 187.542958] rtnetlink_rcv_msg+0x128/0x378 [ 187.547064] netlink_rcv_skb+0x60/0x130 [ 187.550910] rtnetlink_rcv+0x18/0x24 [ 187.554492] netlink_unicast+0x300/0x36c [ 187.558425] netlink_sendmsg+0x1a8/0x420 [ 187.606759] ---[ end trace 0000000000000000 ]--- Bundan əlavə, bəzi PF-lər də (məsələn, LS1028A üzərindəki eno1 və eno3) preemtible TC-lərin konfiqurasiyasını dəstəkləmir. Bu halda VF-lərdə olduğu kimi çöküş baş vermir, lakin biz həmin PF-lərin tətbiq edilməmiş registrlərə müraciətini önləməliyik.

CiddilikOrta
CVSS5.5
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc27 dek 2024
İlk görülmə27 dek 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.6.66, 6.12.5 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel6.4 ≤ v < 6.6.66, 6.7 ≤ v < 6.12.5, 6.136.6.66, 6.12.5

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.

Intelligence 360 paketində

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.

CVE-2024-56649 · Linux Kernel · Dark Radar