CVE-2026-99061
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: wifi: brcmfmac: brcmf_detach() funksiyasında P2P cihazının silinməsi ilə bağlı yarış vəziyyətinin (race condition) düzəldilməsi P2P cihazını yaradan istifadəçi sahəsi prosesi (məsələn, wpa_supplicant) hələ çıxış edərkən drayver silindikdə, P2P cihaz interfeysi iki dəfə silinir və nüvə çökür. İki yol mövcuddur: - wpa_supplicant, çıxış zamanı P2P cihazı üçün NL80211_CMD_DEL_INTERFACE göndərir. nl80211_del_interface() RTNL və wiphy mutex-ini saxlayır və brcmf_p2p_del_vif() funksiyasını çağırır; bu isə kəşfi deaktiv edir və BRCMF_E_IF_DEL üçün 1.5 saniyəyə qədər gözləyir. Daha sonra o, wdev-i qeydiyyatdan çıxaran, vif və ifp-ni azad edən brcmf_remove_interface() funksiyasını çağırır. - brcmf_detach() şinini (bus) söndürür, buna görə də BRCMF_E_IF_DEL heç vaxt gəlmir və eyni ifp üçün brcmf_remove_interface(ifp, false) çağırılır. brcmf_p2p_ifp_removed() ifp->vif oxuyur və sonra rtnl_lock() üzərində bloklanır. brcmf_p2p_del_vif() RTNL-i azad etdikdə, artıq qeydiyyatdan çıxarılmış və azad edilmiş wdev üzərində cfg80211_unregister_wdev() çağırır. wdev->list-in ikinci list_del_rcu() çağırışı LIST_POISON2 səhvini verir: brcmfmac: brcmf_p2p_del_vif delete P2P vif brcmfmac: brcmf_p2p_deinit_discovery enter brcmfmac: brcmf_p2p_del_vif P2P: GO_NEG_PHASE status cleared brcmfmac: brcmf_detach Enter brcmfmac: brcmf_bus_change_state 1 -> 0 brcmfmac: brcmf_remove_interface Enter, bsscfgidx=1, ifidx=0 brcmfmac: brcmf_del_if Enter, bsscfgidx=1, ifidx=0 brcmfmac: brcmf_p2p_ifp_removed P2P: device interface removed [1.5 s later, brcmf_p2p_del_vif() timed out] brcmfmac: brcmf_remove_interface Enter, bsscfgidx=1, ifidx=0 brcmfmac: brcmf_del_if Enter, bsscfgidx=1, ifidx=0 brcmfmac: brcmf_p2p_ifp_removed P2P: device interface removed Unable to handle kernel paging request at virtual address dead000000000122 Internal error: Oops: 96000044 [#1] PREEMPT_RT SMP pc : _cfg80211_unregister_wdev+0x6c/0x264 [cfg80211] Call trace: _cfg80211_unregister_wdev+0x6c/0x264 [cfg80211] cfg80211_unregister_wdev+0x10/0x1c [cfg80211] brcmf_p2p_ifp_removed+0x84/0xb0 [brcmfmac] brcmf_remove_interface+0x1f4/0x254 [brcmfmac] brcmf_detach+0x88/0x180 [brcmfmac] brcmf_sdio_remove+0x90/0x7b0 [brcmfmac] brcmf_sdiod_remove+0x20/0xa0 [brcmfmac] brcmf_ops_sdio_remove+0xbc/0x12c [brcmfmac] sdio_bus_remove+0x38/0x144 device_release_driver_internal+0x1e8/0x2c0 device_release_driver+0x14/0x20 brcmf_sdio_bus_remove+0x2c/0x40 [brcmfmac] brcmf_fwvid_unregister_vendor+0xd8/0x170 [brcmfmac] __exit_compat+0x18/0x418 [brcmfmac_cyw] __arm64_sys_delete_module+0x1ac/0x244 Loq, SDIO üzərində CYW55513 (Sona IF513) olan i.MX 8M Plus lövhəsində debug=0x406 ilə götürülmüşdür. Drayver, 5.4-rt nüvəsində v6.18.22 versiyasından Ezurio tərəfindən backport edilmiş brcmfmac-dir. Müvafiq kod mainline-da da eynidir. Yenidən yaratmaq üçün: 1. wlan0 üzərində wpa_supplicant başladın və onun əlaqə qurmasına icazə verin. O, P2P cihazını yaradır (iw dev "type P2P-device" göstərir). 2. wpa_supplicant-ın çıxmasını gözləmədən onu dayandırın və drayveri silin: kill $(pidof wpa_supplicant) rmmod brcmfmac_cyw brcmfmac Çökmə həmin lövhədə təkrarlana bilir. Netdev olmadan interfeys (P2P cihazı) üçün, iflist oxunmazdan əvvəl brcmf_detach() funksiyasında RTNL və wiphy mutex-ini götürün və locked=true ilə onu silin. Əgər brcmf_p2p_del_vif() birinci işə düşərsə, brcmf_detach() slotun boş olduğunu aşkar edəcək. Əgər brcmf_detach() birinci işə düşərsə, nl80211 artıq wdev-i tapmayacaq. Netdev olan interfeyslər əvvəlki kimi silinir, çünki brcmf_del_if() əsas interfeys üçün özü RTNL götürür.
Necə düzəltmək olar
Mənbələrdə bu zəiflik üçün düzəldilmiş versiya və ya yamaq keçidi yoxdur.
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| microsoft azl3_kernel_6.6.159.1-1 | Aralıq göstərilməyib | — |
| microsoft azl3_kernel_6.6.157.1-1 | Aralıq göstərilməyib | — |
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.