{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2023-54288 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2023-54288 is a vulnerability in Linux, published on 30 Dec 2025. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2023-54288 and fix it if it is affected.\n\nWhat it is: CVE-2023-54288 is a vulnerability in Linux, published on 30 Dec 2025. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2023-54288 in the wild and no public exploit code.\n\nAffected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2023-54288/ (Markdown: https://insights.sbomify.com/CVE-2023-54288/index.md)","id":"CVE-2023-54288","markdown":"https://insights.sbomify.com/CVE-2023-54288/index.md","name":"CVE-2023-54288","record":{"aliases":["BELL-CVE-2023-54288","DEBIAN-CVE-2023-54288","GHSA-3v5g-mc4j-7vr8","UBUNTU-CVE-2023-54288"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Linux kernel WiFi driver","requires_auth":"none","summary":"A race condition in the Linux kernel mac80211 WiFi driver can cause a deadlock and system hang when an interrupt occurs during spinlock acquisition.","user_interaction":"not_required","vuln_class":"race_condition"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: fortify the spinlock against deadlock by interrupt\n\nIn the function ieee80211_tx_dequeue() there is a particular locking\nsequence:\n\nbegin:\n\tspin_lock(\u0026local-\u003equeue_stop_reason_lock);\n\tq_stopped = local-\u003equeue_stop_reasons[q];\n\tspin_unlock(\u0026local-\u003equeue_stop_reason_lock);\n\nHowever small the chance (increased by ftracetest), an asynchronous\ninterrupt can occur in between of spin_lock() and spin_unlock(),\nand the interrupt routine will attempt to lock the same\n\u0026local-\u003equeue_stop_reason_lock again.\n\nThis will cause a costly reset of the CPU and the wifi device or an\naltogether hang in the single CPU and single core scenario.\n\nThe only remaining spin_lock(\u0026local-\u003equeue_stop_reason_lock) that\ndid not disable interrupts was patched, which should prevent any\ndeadlocks on the same CPU/core and the same wifi device.\n\nThis is the probable trace of the deadlock:\n\nkernel: ================================\nkernel: WARNING: inconsistent lock state\nkernel: 6.3.0-rc6-mt-20230401-00001-gf86822a1170f #4 Tainted: G        W\nkernel: --------------------------------\nkernel: inconsistent {IN-SOFTIRQ-W} -\u003e {SOFTIRQ-ON-W} usage.\nkernel: kworker/5:0/25656 [HC0[0]:SC0[0]:HE1:SE1] takes:\nkernel: ffff9d6190779478 (\u0026local-\u003equeue_stop_reason_lock){+.?.}-{2:2}, at: return_to_handler+0x0/0x40\nkernel: {IN-SOFTIRQ-W} state was registered at:\nkernel:   lock_acquire+0xc7/0x2d0\nkernel:   _raw_spin_lock+0x36/0x50\nkernel:   ieee80211_tx_dequeue+0xb4/0x1330 [mac80211]\nkernel:   iwl_mvm_mac_itxq_xmit+0xae/0x210 [iwlmvm]\nkernel:   iwl_mvm_mac_wake_tx_queue+0x2d/0xd0 [iwlmvm]\nkernel:   ieee80211_queue_skb+0x450/0x730 [mac80211]\nkernel:   __ieee80211_xmit_fast.constprop.66+0x834/0xa50 [mac80211]\nkernel:   __ieee80211_subif_start_xmit+0x217/0x530 [mac80211]\nkernel:   ieee80211_subif_start_xmit+0x60/0x580 [mac80211]\nkernel:   dev_hard_start_xmit+0xb5/0x260\nkernel:   __dev_queue_xmit+0xdbe/0x1200\nkernel:   neigh_resolve_output+0x166/0x260\nkernel:   ip_finish_output2+0x216/0xb80\nkernel:   __ip_finish_output+0x2a4/0x4d0\nkernel:   ip_finish_output+0x2d/0xd0\nkernel:   ip_output+0x82/0x2b0\nkernel:   ip_local_out+0xec/0x110\nkernel:   igmpv3_sendpack+0x5c/0x90\nkernel:   igmp_ifc_timer_expire+0x26e/0x4e0\nkernel:   call_timer_fn+0xa5/0x230\nkernel:   run_timer_softirq+0x27f/0x550\nkernel:   __do_softirq+0xb4/0x3a4\nkernel:   irq_exit_rcu+0x9b/0xc0\nkernel:   sysvec_apic_timer_interrupt+0x80/0xa0\nkernel:   asm_sysvec_apic_timer_interrupt+0x1f/0x30\nkernel:   _raw_spin_unlock_irqrestore+0x3f/0x70\nkernel:   free_to_partial_list+0x3d6/0x590\nkernel:   __slab_free+0x1b7/0x310\nkernel:   kmem_cache_free+0x52d/0x550\nkernel:   putname+0x5d/0x70\nkernel:   do_sys_openat2+0x1d7/0x310\nkernel:   do_sys_open+0x51/0x80\nkernel:   __x64_sys_openat+0x24/0x30\nkernel:   do_syscall_64+0x5c/0x90\nkernel:   entry_SYSCALL_64_after_hwframe+0x72/0xdc\nkernel: irq event stamp: 5120729\nkernel: hardirqs last  enabled at (5120729): [\u003cffffffff9d149936\u003e] trace_graph_return+0xd6/0x120\nkernel: hardirqs last disabled at (5120728): [\u003cffffffff9d149950\u003e] trace_graph_return+0xf0/0x120\nkernel: softirqs last  enabled at (5069900): [\u003cffffffff9cf65b60\u003e] return_to_handler+0x0/0x40\nkernel: softirqs last disabled at (5067555): [\u003cffffffff9cf65b60\u003e] return_to_handler+0x0/0x40\nkernel:\n        other info that might help us debug this:\nkernel:  Possible unsafe locking scenario:\nkernel:        CPU0\nkernel:        ----\nkernel:   lock(\u0026local-\u003equeue_stop_reason_lock);\nkernel:   \u003cInterrupt\u003e\nkernel:     lock(\u0026local-\u003equeue_stop_reason_lock);\nkernel:\n         *** DEADLOCK ***\nkernel: 8 locks held by kworker/5:0/25656:\nkernel:  #0: ffff9d618009d138 ((wq_completion)events_freezable){+.+.}-{0:0}, at: process_one_work+0x1ca/0x530\nkernel:  #1: ffffb1ef4637fe68 ((work_completion)(\u0026local-\u003erestart_work)){+.+.}-{0:0}, at: process_one_work+0x1ce/0x530\nkernel:  #2: ffffffff9f166548 (rtnl_mutex){+.+.}-{3:3}, at: return_to_handler+0x0/0x40\nkernel:  #3: ffff9d619\n---truncated---","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"wifi: mac80211: fortify the spinlock against deadlock by interrupt","id":"CVE-2023-54288","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"race_condition","year":"2023"},"n_packages":0,"n_references":3,"next":{"headline":"scsi: qedf: Fix NULL dereference in error handling","id":"CVE-2023-54289"},"packages":[],"prev":{"headline":"tty: serial: imx: disable Ageing Timer interrupt request irq","id":"CVE-2023-54287"},"products":["Linux"],"published":"2025-12-30","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-05-23","vendors":["Linux"]},"summary":"A race condition in the Linux kernel mac80211 WiFi driver can cause a deadlock and system hang when an interrupt occurs during spinlock acquisition.","url":"https://insights.sbomify.com/CVE-2023-54288/"}