{"id":"CVE-2026-99185","aliases":[],"title":"firewire: core: fix race condition in split transaction handling","titleSource":"Linux","descriptionSource":"Linux","products":[{"vendor":"Linux","name":"Linux","platforms":[],"versions":[{"version":"fa2dc27100768a8a994c377051fa17a47cc66c76","status":"affected","lessThan":"a8caee0e623ca5d56e829032f9ec073c09e4d224","versionType":"git"},{"version":"fa2dc27100768a8a994c377051fa17a47cc66c76","status":"affected","lessThan":"7f9f2d6abc40f79e802b4063859eda343043b85c","versionType":"git"}],"defaultStatus":"unaffected","source":"Linux","url":"https://www.cve.org/CVERecord?id=CVE-2026-99185"},{"vendor":"Linux","name":"Linux","platforms":[],"versions":[{"version":"6.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.19","versionType":"semver"},{"version":"7.2.13","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"defaultStatus":"affected","source":"Linux","url":"https://www.cve.org/CVERecord?id=CVE-2026-99185"}],"remediation":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nfirewire: core: fix race condition in split transaction handling\n\nFor a split transaction, either fw_core_handle_response() or\nsplit_transaction_timeout_callback() may manipulate the same transaction\nentry in the pending transaction list. The return value of timer_delete()\nis used to determine which function handles the entry. If the transaction\nis a split transaction and timer_delete() returns zero, the timeout\ncallback may already be running. In this case, the response handler must\nleave the entry in the list for the timeout callback to remove.\n\nA previous code refactoring broke this behavior, introducing a race\ncondition in which both functions could process the same transaction.\nThis could lead to a use-after-free on the transaction initiator side.\n\nFix the regression by ensuring that the response handler does not process\nthe transaction when timer_delete() returns zero. The timeout callback is\nresponsible for removing the entry from the pending transaction list.","severity":"unknown","score":null,"published":"2026-10-28T10:35:43.282Z","modified":"2026-10-28T10:35:43.282Z","withdrawn":false,"knownExploited":false,"affected":[],"references":["https://git.kernel.org/stable/c/a8caee0e623ca5d56e829032f9ec073c09e4d224","https://git.kernel.org/stable/c/7f9f2d6abc40f79e802b4063859eda343043b85c"],"sources":[{"name":"CVE","id":"CVE-2026-99185","modified":"2026-10-28T10:35:43.282Z","url":"https://www.cve.org/CVERecord?id=CVE-2026-99185"}],"assessments":[],"sourceAffected":[],"kev":{"status":"not-listed","checkedAt":"2026-10-28T23:45:31.121Z"},"coverage":[{"source":"NVD","status":"not-checked"},{"source":"GHSA","status":"not-checked"},{"source":"EUVD","status":"not-checked"},{"source":"EPSS","status":"not-checked"}],"evidence":[]}