CVE-2026-53292
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: net: phonet: uğursuz bind zamanı pn_socket_autobind()-də BUG_ON() istifadə etməyin syzbot tərəfindən pn_socket_sendmsg() vasitəsilə pn_socket_autobind()-dən tetiklenen kernel BUG hesabatı verilmişdir: kernel BUG at net/phonet/socket.c:213! RIP: 0010:pn_socket_autobind net/phonet/socket.c:213 [inline] RIP: 0010:pn_socket_sendmsg+0x240/0x250 net/phonet/socket.c:421 Call Trace: sock_sendmsg_nosec+0x112/0x150 net/socket.c:797 __sock_sendmsg net/socket.c:812 [inline] __sys_sendto+0x402/0x590 net/socket.c:2280 ... pn_socket_autobind() funksiyası port 0 ilə pn_socket_bind()-i çağırır və -EINVAL alındıqda soketin artıq bağlanmış olduğunu fərz edərək portun sıfırdan fərqli olduğunu təsdiqləyir: err = pn_socket_bind(sock, ..., sizeof(struct sockaddr_pn)); if (err != -EINVAL) return err; BUG_ON(!pn_port(pn_sk(sock->sk)->sobject)); return 0; /* socket was already bound */ Lakin, sk->sk_state TCP_CLOSE olmadıqda, hətta soket heç vaxt bağlanmayıbsa və pn_port() hələ də 0 olduqda belə, pn_socket_bind() -EINVAL qaytarır. Bu halda BUG_ON() işə düşür və istifadəçi tərəfindən tetiklene bilən yol vasitəsilə kernel-də panika yaradır. "bind -EINVAL qaytardı lakin pn_port() hələ də 0-dır" halını adi xəta kimi qəbul edin və sistemin çökməsi əvəzinə -EINVAL xətasını çağıran tərəfə ötürün. Mövcud çağıranlar artıq pn_socket_autobind()-dən gələn sıfırdan fərqli cavabı -ENOBUFS/-EAGAIN olaraq çevirirlər, buna görə də burada -EINVAL qaytarılması davranışı panikadan normal errno-ya dəyişir.
Necə düzəltmək olar
- linux linux_kernel7.0.10 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 | 2.6.28 ≤ v < 7.0.10, 7.1 | 7.0.10 |
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.