{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-80947 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-80947 is a high-severity use after free vulnerability in Linux, published on 11 Sep 2026. 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-2026-80947 and fix it if it is affected.\n\nWhat it is: CVE-2026-80947 is a high-severity use after free vulnerability in Linux, published on 11 Sep 2026. 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-2026-80947 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-2026-80947/ (Markdown: https://insights.sbomify.com/CVE-2026-80947/index.md)","id":"CVE-2026-80947","markdown":"https://insights.sbomify.com/CVE-2026-80947/index.md","name":"CVE-2026-80947","record":{"aliases":["AZL-100298","BELL-CVE-2026-80947","DEBIAN-CVE-2026-80947","GHSA-g2ww-fvxp-525w","UBUNTU-CVE-2026-80947"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["code_execution","denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Linux kernel WiFi driver","requires_auth":"low_privilege","summary":"A use-after-free vulnerability in the Linux kernel rtl8xxxu WiFi driver allows attackers to cause denial of service or execute code via a race condition during device disconnection.","user_interaction":"not_required","vuln_class":"use_after_free"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[],"cvss":{"score":7.8,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: rtl8xxxu: fix use-after-free from rx_urb_wq on stop\n\nrtl8xxxu arms rx_urb_wq from the RX completion path:\nrtl8xxxu_rx_complete() hands the URB to rtl8xxxu_queue_rx_urb(), which\nqueues it on rx_urb_pending_list and, once the list grows past\nRTL8XXXU_RX_URB_PENDING_WATER, schedules rx_urb_wq.  The worker\nrtl8xxxu_rx_urb_work() drains rx_urb_pending_list, recovers priv through\ncontainer_of, and resubmits each URB through rtl8xxxu_submit_rx_urb(),\nwhich anchors it on rx_anchor and dereferences priv-\u003eudev.\n\nrtl8xxxu_stop() cancels the sibling work items (c2hcmd_work, ra_watchdog,\nupdate_beacon_work) but never cancels rx_urb_wq, so a worker armed during\nthe last burst of RX traffic can run rtl8xxxu_rx_urb_work() after\nrtl8xxxu_disconnect() has called ieee80211_free_hw(), which frees priv,\nproducing a use-after-free.  The window opens under active RX traffic\n(pending count above the watermark) followed by a disconnect.\n\nThere are two teardown races to close:\n\n  * rtl8xxxu_queue_rx_urb() decided whether to enqueue under rx_urb_lock\n    but called schedule_work() after dropping the lock.  A completion\n    that observed shutdown == false and released the lock could then call\n    schedule_work() after rtl8xxxu_stop() had set shutdown and\n    cancel_work_sync() had already returned, arming the worker to run\n    after the teardown.  Move schedule_work() under the same !shutdown\n    branch so the arming decision is atomic with the shutdown check.\n\n  * rtl8xxxu_rx_urb_work() anchors every URB it drained back onto\n    rx_anchor through rtl8xxxu_submit_rx_urb().  A worker still running\n    when usb_kill_anchored_urbs(\u0026priv-\u003erx_anchor) returned would submit a\n    URB that escaped the kill.  In rtl8xxxu_stop(), call\n    cancel_work_sync(\u0026priv-\u003erx_urb_wq) before the kill so the worker is\n    drained first.\n\nAfter priv-\u003eshutdown is set under rx_urb_lock, completions can no longer\nqueue rx_urb_wq. cancel_work_sync() then drains the last queued or running\nworker, and the following usb_kill_anchored_urbs() kills the URBs it may\nhave submitted.\n\nrtl8xxxu_disconnect() is covered because ieee80211_unregister_hw()\nguarantees .stop() runs for a live interface before ieee80211_free_hw()\nfrees priv.  The probe error path needs no cancel: rx_urb_wq is\nINIT_WORK()'d there but cannot have been scheduled, since no URB is\nsubmitted before ieee80211_register_hw() succeeds.\n\nThis bug was found by static analysis.","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: rtl8xxxu: fix use-after-free from rx_urb_wq on stop","id":"CVE-2026-80947","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"use_after_free","year":"2026"},"n_packages":0,"n_references":5,"next":{"headline":"wifi: iwlwifi: dvm: fix memory leak in iwl_op_mode_dvm_start()","id":"CVE-2026-80948"},"packages":[],"prev":{"headline":"fuse: copy request headers via a stack buffer for io-uring","id":"CVE-2026-80946"},"products":["Linux"],"published":"2026-09-11","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-10-21","vendors":["Linux"]},"summary":"A use-after-free vulnerability in the Linux kernel rtl8xxxu WiFi driver allows attackers to cause denial of service or execute code via a race condition during device disconnection.","url":"https://insights.sbomify.com/CVE-2026-80947/"}