CVE-2026-64177

Orta

Təsvir

Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: phonet/pep: ötürülən sk_receive_skb() ətrafında BH-ni deaktiv edin Şəbəkə qəbul yolu adətən softirq kontekstindən işləyir, lakin soket kilidini götürən protokolların paketləri backlogda saxlaması və sonradan proses kontekstindən emal etməsi mümkündür. Bu halda release_sock() -> __release_sock() slock-u spin_unlock_bh() ilə buraxır və sonra alt yarıları (bottom halves) aktiv vəziyyətdə sk->sk_backlog_rcv() çağırır. Tipik sk_backlog_rcv işləyiciləri backlogu boşaldılan soketi emal edir, buna görə girişdəki BH vəziyyəti onların toxunduğu slock-lar üçün əhəmiyyətsizdir. pep_do_rcv() fərqlidir: daxil olan skb mövcud PEP boruya (pipe) yönəldildikdə, skb-ni sk_receive_skb() vasitəsilə fərqli *uşaq* soketə ötürür. Bu köməkçi uşaq slock-u bh_lock_sock_nested() ilə götürür, bu isə sadəcə spin_lock_nested()-dir və BH-nin artıq söndürülmüş olduğunu fərz edir. Beləliklə, eyni uşaq slock BH aktiv (proses yolu) və BH söndürülmüş (softirq yolu) vəziyyətdə əldə edilir: proses konteksti softirq konteksti --------------- --------------- release_sock(listener) __netif_receive_skb() __release_sock() phonet_rcv() spin_unlock_bh() __sk_receive_skb(listener) [BH artıq AKTİVDİR] [BH artıq deaktivdir] sk_backlog_rcv: sk_backlog_rcv: pep_do_rcv() pep_do_rcv() sk_receive_skb(child) sk_receive_skb(child) bh_lock_sock_nested(child) bh_lock_sock_nested(child) => SOFTIRQ-ON-W => IN-SOFTIRQ-W Lockdep bunu uyğunsuz kilid vəziyyəti kimi qeyd edir və əgər eyni CPU-da softirq, slock BH aktiv yolda tutulmuş halda eyni uşaq soketə qəbul etməyə çalışarsa, bu, real özünü-deadlock-a çevrilə bilər: WARNING: inconsistent lock state inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. (slock-AF_PHONET/1){+.?.}-{3:3}, at: __sk_receive_skb+0x1cf/0x900 __sk_receive_skb net/core/sock.c:563 sk_receive_skb include/net/sock.h:2022 [inline] pep_do_rcv net/phonet/pep.c:675 sk_backlog_rcv include/net/sock.h:1190 __release_sock net/core/sock.c:3216 release_sock net/core/sock.c:3815 pep_sock_accept net/phonet/pep.c:879 Ötürülən sk_receive_skb() çağırışını local_bh_disable() / local_bh_enable() ilə əhatə edin ki, uşaq slock həmişə BH söndürülmüş vəziyyətdə əldə edilsin. local_bh_disable() softirq yolunda təhlükəsiz şəkildə iç-içə yerləşir. Daxili syzkaller fuzzinqi vasitəsilə aşkar edilib; eyni kök səbəb həmçinin linux-6.1.y syzbot idarə panelində extid 44f0626dd6284f02663c kimi mövcuddur. KASAN + LOCKDEP + PROVE_LOCKING altında təkrar istehsal edilib, reproduksiyaedici: https://pastebin.com/A3t8xzCR

CiddilikOrta
CVSS5.5
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc19 iyl 2026
İlk görülmə19 iyl 2026

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel5.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel2.6.28 ≤ v < 5.10.258, 5.11 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.142, 6.7 ≤ v < 6.12.92, 6.13 ≤ v < 6.18.34, 6.19 ≤ v < 7.0.11, 7.15.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11

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-2026-64177 · Linux Kernel · Dark Radar