{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-98761 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-98761 is a denial of service vulnerability in Linux, published on 18 Oct 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2026-98761 and fix it if it is affected.\n\nWhat it is: CVE-2026-98761 is a denial of service vulnerability in Linux, published on 18 Oct 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.\nExploitation: There is no known exploitation of CVE-2026-98761 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-98761/ (Markdown: https://insights.sbomify.com/CVE-2026-98761/index.md)","id":"CVE-2026-98761","markdown":"https://insights.sbomify.com/CVE-2026-98761/index.md","name":"CVE-2026-98761","record":{"aliases":["AZL-108984","BELL-CVE-2026-98761","DEBIAN-CVE-2026-98761","GHSA-fcv9-h4wq-59j8","UBUNTU-CVE-2026-98761"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Linux kernel USB","requires_auth":"none","summary":"A physical USB cable disconnection during a fast role swap can leave VBUS powered, causing a denial of service in the Linux kernel USB Type-C subsystem.","user_interaction":"required","vuln_class":"denial_of_service"},"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: typec: tcpm: recover after failure to start the frs ams\n\nReset the port if the tcpm fails to start the FAST_ROLE_SWAP AMS by\ninitiating error recovery on it.\n\nThis helps in cases where some cables (incorrectly) signal an FRS to\nan FRS capable port during disconnection. The TCPC autonomously starts\nsourcing VBUS on detecting the FRS signal. However, the VBUS sourcing is\nleft on when the FAST_ROLE_SWAP AMS fails to start (as tcpm_sink_tx_ok\nis 0 as CC is open due to the cable disconnect). This is because the\ncode sets the state to INVALID_STATE without resetting the port state.\n\nLog snippet before changes:\n[  101.401960] AMS FAST_ROLE_SWAP start\n[  101.401971] Sink TX No Go\n[  101.401982] sourcing vbus\n[  101.401987] VBUS on\n[  101.402159] VBUS on\n[  109.257809] CC1: 0 -\u003e 0, CC2: 5 -\u003e 0 [state SNK_READY, polarity 1, disconnected]\n[  111.267442] VBUS on\n\nAfter changes:\n[   70.541211] AMS FAST_ROLE_SWAP start\n[   70.541220] Sink TX No Go\n[   70.541228] state change SNK_READY -\u003e ERROR_RECOVERY [rev3 NONE_AMS]\n[   70.541362] VBUS on\n[   70.541365] sourcing vbus\n[   70.541367] VBUS on\n[   70.541374] state change ERROR_RECOVERY -\u003e PORT_RESET [rev3 NONE_AMS]\n[   70.541410] disable vbus discharge ret:0\n[   70.543028] Setting usb_comm capable false\n[   70.544009] Setting voltage/current limit 0 mV 0 mA\n[   70.544034] polarity 0\n[   70.544239] Requesting mux state 0, usb-role 0, orientation 0\n[   70.555550] cc:=0\n[   70.555595] pending state change PORT_RESET -\u003e PORT_RESET_WAIT_OFF @ 100 ms [rev3 NONE_AMS]\n[   70.555697] VBUS off\n[   70.555702] VBUS VSAFE0V\n[   70.555762] CC1: 5 -\u003e 0, CC2: 0 -\u003e 0 [state PORT_RESET, polarity 0, disconnected]\n[   70.587794] VBUS off\n[   70.587799] VBUS VSAFE0V\n[   70.655672] state change PORT_RESET -\u003e PORT_RESET_WAIT_OFF [delayed 100 ms]\n[   70.655682] state change PORT_RESET_WAIT_OFF -\u003e SNK_UNATTACHED [rev3 NONE_AMS]\n[   70.655686] Start toggling\n[   70.656274] CC1: 0 -\u003e 0, CC2: 0 -\u003e 0 [state TOGGLING, polarity 0, disconnected]","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: typec: tcpm: recover after failure to start the frs ams","id":"CVE-2026-98761","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"denial_of_service","year":"2026"},"n_packages":0,"n_references":5,"next":{"headline":"USB: dwc2: shut down wakeup timer before freeing HCD state","id":"CVE-2026-98762"},"packages":[],"prev":{"headline":"usb: typec: tipd: fix uninitialized typec_partner_desc in tps6598x_connect()","id":"CVE-2026-98760"},"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 physical USB cable disconnection during a fast role swap can leave VBUS powered, causing a denial of service in the Linux kernel USB Type-C subsystem.","url":"https://insights.sbomify.com/CVE-2026-98761/"}