CVE-2024-47713

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop() Since '__dev_queue_xmit()' should be called with interrupts enabled, the following backtrace: ieee80211_do_stop() ... spin_lock_irqsave(&local->queue_stop_reason_lock, flags) ... ieee80211_free_txskb() ieee80211_report_used_skb() ieee80211_report_ack_skb() cfg80211_mgmt_tx_status_ext() nl80211_frame_tx_status() genlmsg_multicast_netns() genlmsg_multicast_netns_filtered() nlmsg_multicast_filtered() netlink_broadcast_filtered() do_one_broadcast() netlink_broadcast_deliver() __netlink_sendskb() netlink_deliver_tap() __netlink_deliver_tap_skb() dev_queue_xmit() __dev_queue_xmit() ; with IRQS disabled ... spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags) issues the warning (as reported by syzbot reproducer): WARNING: CPU: 2 PID: 5128 at kernel/softirq.c:362 __local_bh_enable_ip+0xc3/0x120 Fix this by implementing a two-phase skb reclamation in 'ieee80211_do_stop()', where actual work is performed outside of a section with interrupts disabled.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

24 Oct 2024, 14:19

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/058c9026ad79dc98572442fd4c7e9a36aba6f596 - () https://git.kernel.org/stable/c/058c9026ad79dc98572442fd4c7e9a36aba6f596 - Patch
References () https://git.kernel.org/stable/c/9d301de12da6e1bb069a9835c38359b8e8135121 - () https://git.kernel.org/stable/c/9d301de12da6e1bb069a9835c38359b8e8135121 - Patch
References () https://git.kernel.org/stable/c/acb53a716e492a02479345157c43f21edc8bc64b - () https://git.kernel.org/stable/c/acb53a716e492a02479345157c43f21edc8bc64b - Patch
References () https://git.kernel.org/stable/c/ad4b7068b101fbbb4a9ca4b99b25eb051a9482ec - () https://git.kernel.org/stable/c/ad4b7068b101fbbb4a9ca4b99b25eb051a9482ec - Patch
References () https://git.kernel.org/stable/c/db5ca4b42ccfa42d2af7b335ff12578e57775c02 - () https://git.kernel.org/stable/c/db5ca4b42ccfa42d2af7b335ff12578e57775c02 - Patch
References () https://git.kernel.org/stable/c/eab272972cffff9cd973b8e4055a8e81c64f7e6a - () https://git.kernel.org/stable/c/eab272972cffff9cd973b8e4055a8e81c64f7e6a - Patch
References () https://git.kernel.org/stable/c/f232916fab67ca1c3425926df4a866e59ff26908 - () https://git.kernel.org/stable/c/f232916fab67ca1c3425926df4a866e59ff26908 - Patch
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: wifi: mac80211: usar recuperación skb de dos fases en ieee80211_do_stop() Dado que '__dev_queue_xmit()' se debe llamar con las interrupciones habilitadas, se realiza el siguiente seguimiento: ieee80211_do_stop() ... spin_lock_irqsave(&local->queue_stop_reason_lock, flags) ... ieee80211_free_txskb() ieee80211_report_used_skb() ieee80211_report_ack_skb() cfg80211_mgmt_tx_status_ext() nl80211_frame_tx_status() genlmsg_multicast_netns() genlmsg_multicast_netns_filtered() con IRQS deshabilitado ... spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags) emite la advertencia (según lo informado por el reproductor syzbot): ADVERTENCIA: CPU: 2 PID: 5128 en kernel/softirq.c:362 __local_bh_enable_ip+0xc3/0x120 Solucione esto implementando una recuperación de skb de dos fases en 'ieee80211_do_stop()', donde el trabajo real se realiza fuera de una sección con las interrupciones deshabilitadas.
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CWE NVD-CWE-noinfo
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
First Time Linux linux Kernel
Linux

21 Oct 2024, 12:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-10-21 12:15

Updated : 2024-10-24 14:19


NVD link : CVE-2024-47713

Mitre link : CVE-2024-47713

CVE.ORG link : CVE-2024-47713


JSON object : View

Products Affected

linux

  • linux_kernel