{"id":"CVE-2026-63972","state":"PUBLISHED","title":"net: mana: Skip redundant detach on already-detached port","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: mana: Skip redundant detach on already-detached port\n\nWhen mana_per_port_queue_reset_work_handler() runs after a previous\ndetach succeeded but attach failed, the port is left in a detached\nstate with apc->tx_qp and apc->rxqs already freed. Calling\nmana_detach() again unconditionally leads to NULL pointer dereferences\nduring queue teardown.\n\nAdd an early exit in mana_detach() when the port is already in\ndetached state (!netif_device_present) for non-close callers, making\nit safe to call idempotently. This allows the queue reset handler and\nother recovery paths to simply retry mana_attach() without redundant\nteardown.","publishedAt":"2026-07-19T14:55:58.503Z","updatedAt":"2026-08-05T12:37:43.858Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"fb9f98e1041a30dd5766620a2a64cb472b54caa9","status":"affected","lessThan":"c4152b4e28b3e550ec99351bf900e2c24c2608cc","versionType":"git"},{"version":"3b194343c25084a8d2fa0c0f2c9e80f3080fd732","status":"affected","lessThan":"7ae590797f9b5c240aaea5773f5f00977a42a846","versionType":"git"},{"version":"3b194343c25084a8d2fa0c0f2c9e80f3080fd732","status":"affected","lessThan":"5b05aa36ee24297d7296ca58dfd8c448d0e4cda3","versionType":"git"},{"version":"6.18.33","status":"affected","lessThan":"6.18.35","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ethernet/microsoft/mana/mana_en.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"7.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"7.0","versionType":"semver"},{"version":"6.18.35","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.12","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ethernet/microsoft/mana/mana_en.c"]}],"references":["https://git.kernel.org/stable/c/c4152b4e28b3e550ec99351bf900e2c24c2608cc","https://git.kernel.org/stable/c/7ae590797f9b5c240aaea5773f5f00977a42a846","https://git.kernel.org/stable/c/5b05aa36ee24297d7296ca58dfd8c448d0e4cda3"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:41.951Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/63xxx/CVE-2026-63972.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-63972","state":"PUBLISHED","datePublished":"2026-07-19T14:55:58.503Z","dateUpdated":"2026-08-05T12:37:43.858Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-19T07:54:57.024Z"},"containers":{"cna":{"title":"net: mana: Skip redundant detach on already-detached port","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: mana: Skip redundant detach on already-detached port\n\nWhen mana_per_port_queue_reset_work_handler() runs after a previous\ndetach succeeded but attach failed, the port is left in a detached\nstate with apc->tx_qp and apc->rxqs already freed. Calling\nmana_detach() again unconditionally leads to NULL pointer dereferences\nduring queue teardown.\n\nAdd an early exit in mana_detach() when the port is already in\ndetached state (!netif_device_present) for non-close callers, making\nit safe to call idempotently. This allows the queue reset handler and\nother recovery paths to simply retry mana_attach() without redundant\nteardown."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"fb9f98e1041a30dd5766620a2a64cb472b54caa9","status":"affected","lessThan":"c4152b4e28b3e550ec99351bf900e2c24c2608cc","versionType":"git"},{"version":"3b194343c25084a8d2fa0c0f2c9e80f3080fd732","status":"affected","lessThan":"7ae590797f9b5c240aaea5773f5f00977a42a846","versionType":"git"},{"version":"3b194343c25084a8d2fa0c0f2c9e80f3080fd732","status":"affected","lessThan":"5b05aa36ee24297d7296ca58dfd8c448d0e4cda3","versionType":"git"},{"version":"6.18.33","status":"affected","lessThan":"6.18.35","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ethernet/microsoft/mana/mana_en.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"7.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"7.0","versionType":"semver"},{"version":"6.18.35","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.12","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ethernet/microsoft/mana/mana_en.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/c4152b4e28b3e550ec99351bf900e2c24c2608cc"},{"url":"https://git.kernel.org/stable/c/7ae590797f9b5c240aaea5773f5f00977a42a846"},{"url":"https://git.kernel.org/stable/c/5b05aa36ee24297d7296ca58dfd8c448d0e4cda3"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - The primary path is mana_tx_timeout() on Azure MANA NICs, triggered by the netdev TX watchdog when queues stall; remote peers on internet-facing VMs can induce TX stalls that schedule the vulnerable mana_detach() recovery workqueue.\nAC:L - An attacker can repeatedly provoke TX watchdog timeouts and control retry timing; while attach failure between cycles may need memory pressure, remote connection floods can contribute and the attacker controls both sides of the reset race.\nPR:N - The TX-timeout recovery path requires no local VM privileges—only network reachability to influence the victim's MANA interface TX queue behavior and trigger automated driver recovery.\nUI:N - Exploitation is fully automated through the kernel netdev watchdog timer and workqueue handler with no victim user interaction required.\nS:U - Impact is a kernel panic within the same Azure VM guest; the MANA driver runs in guest context and does not cross a VM/host security boundary.\nC:N - The bug is a NULL pointer dereference during redundant queue teardown on already-freed pointers, causing a crash with no information disclosure primitive.\nI:N - There is no data modification or exploitable write primitive; the failure mode is dereferencing NULL tx_qp/rxqs pointers during teardown.\nA:H - The NULL pointer dereference in mana_detach()/mana_dealloc_queues() causes a kernel oops/panic, fully disrupting VM availability on affected Azure instances."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:37:43.858Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18.33","versionEndExcluding":"6.18.35"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.0","versionEndExcluding":"7.0.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.0","versionEndExcluding":"7.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}