{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-98766 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-98766 is an use after free vulnerability in Linux, published on 18 Oct 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-98766 and fix it if it is affected.\n\nWhat it is: CVE-2026-98766 is an use after free vulnerability in Linux, published on 18 Oct 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-98766 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-98766/ (Markdown: https://insights.sbomify.com/CVE-2026-98766/index.md)","id":"CVE-2026-98766","markdown":"https://insights.sbomify.com/CVE-2026-98766/index.md","name":"CVE-2026-98766","record":{"aliases":["AZL-109023","BELL-CVE-2026-98766","DEBIAN-CVE-2026-98766","GHSA-5m27-6x28-p9v6","UBUNTU-CVE-2026-98766"],"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 USB gadget","requires_auth":"none","summary":"A use-after-free in the Linux kernel's Aspeed virtual hub driver allows attackers with physical or local access to execute code or crash the system via USB gadget removal.","user_interaction":"not_required","vuln_class":"use_after_free"},"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\nusb: gadget: aspeed-vhub: cancel wake work on device removal\n\nwake_work is armed from the gadget .wakeup callback to resume suspended\ndownstream ports, and it is never cancelled in ast_vhub_remove(), so a\nwork item queued before or during removal can run after devm has freed\nvhub and its ports, a use-after-free.\n\nCancelling the work alone is not sufficient: usb_gadget_wakeup() takes\nno lock and the unbind path never clears wakeup_en, so a remote-wakeup\nrequest in flight on another CPU can re-arm the work after the cancel\nand before vhub is freed.\n\nast_vhub_del_dev() already clears d-\u003eregistered under vhub-\u003elock before\nunregistering the gadget. Refuse the wakeup in ast_vhub_udc_wakeup()\nonce d-\u003eregistered is clear: the check and the schedule_work() are then\natomic against the unbind, so a wakeup that passed before the flag was\ncleared is drained by the cancel_work_sync() after the del_dev loop,\nand one that arrives later returns without arming. Also move INIT_WORK()\nto the top of ast_vhub_probe(), since the probe error path reuses\nast_vhub_remove() and would otherwise cancel a never-initialized work\nitem.\n\nThis issue was found by an in-house static analysis tool.","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":"usb: gadget: aspeed-vhub: cancel wake work on device removal","id":"CVE-2026-98766","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":"usb: dwc3: gadget: fix IRQ storm on invalid event buffer count","id":"CVE-2026-98767"},"packages":[],"prev":{"headline":"USB: gadget: dummy-hcd: Fix wait for outstanding request completions","id":"CVE-2026-98765"},"products":["Linux"],"published":"2026-10-18","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-10-21","vendors":["Linux"]},"summary":"A use-after-free in the Linux kernel's Aspeed virtual hub driver allows attackers with physical or local access to execute code or crash the system via USB gadget removal.","url":"https://insights.sbomify.com/CVE-2026-98766/"}