CVE-2021-47242
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: mptcp: subflow_error_report() fonksiyonundaki soft lockup hatası düzeltildi Maxim, subflow_error_report() fonksiyonunda bir soft lockup raporlamıştır: watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [swapper/0:0] RIP: 0010:native_queued_spin_lock_slowpath RSP: 0018:ffffa859c0003bc0 EFLAGS: 00000202 RAX: 0000000000000101 RBX: 0000000000000001 RCX: 0000000000000000 RDX: ffff9195c2772d88 RSI: 0000000000000000 RDI: ffff9195c2772d88 RBP: ffff9195c2772d00 R08: 00000000000067b0 R09: c6e31da9eb1e44f4 R10: ffff9195ef379700 R11: ffff9195edb50710 R12: ffff9195c2772d88 R13: ffff9195f500e3d0 R14: ffff9195ef379700 R15: ffff9195ef379700 FS: 0000000000000000(0000) GS:ffff91961f400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000c000407000 CR3: 0000000002988000 CR4: 00000000000006f0 Call Trace: <IRQ> _raw_spin_lock_bh subflow_error_report mptcp_subflow_data_available __mptcp_move_skbs_from_subflow mptcp_data_ready tcp_data_queue tcp_rcv_established tcp_v4_do_rcv tcp_v4_rcv ip_protocol_deliver_rcu ip_local_deliver_finish __netif_receive_skb_one_core netif_receive_skb rtl8139_poll 8139too __napi_poll net_rx_action __do_softirq __irq_exit_rcu common_interrupt </IRQ> Çağıran fonksiyon olan mptcp_subflow_data_available(), farklı bağlamlardan çağrılabilir: - yalın ssk soket kilidi - ssk soket kilidi + mptcp_data_lock - ssk soket kilidi + mptcp_data_lock + msk soket kilidi. subflow_error_report() fonksiyonu mptcp_data_lock kilidini almaya çalıştığından, son iki çağrı zinciri soft lockup'a neden olacaktır. Bu değişiklik, hata raporlama çağrısını tutulan kilitlerin bilindiği ve yalnızca gerekli olan kilidin alınabildiği dış fonksiyonlara taşıyarak sorunu gidermektedir.
Nasıl düzeltilir
- linux linux_kernel5.12.13 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.11.12 ≤ v < 5.12.13, 5.13 | 5.12.13 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.