{"dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": {"cveId": "CVE-2026-72405", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2026-08-09T03:40:39.925Z", "datePublished": "2026-08-15T05:56:29.466Z", "dateUpdated": "2026-10-30T12:29:18.903Z"}, "containers": {"cna": {"providerMetadata": {"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-10-30T12:29:18.903Z"}, "descriptions": [{"lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: udp_tunnel: prevent double queueing in udp_tunnel_nic_device_sync\n\nYue Sun reported a use-after-free and debugobjects warning in\nudp_tunnel_nic_device_sync_work() during concurrent device operations.\n\nThe workqueue core clears the internal pending bit before invoking the\nworker. At that point, a concurrent thread can queue the work again.\nWhen the already running worker eventually clears the work_pending flag\nto 0, it mistakenly clears the flag for the newly queued instance.\nudp_tunnel_nic_unregister() then observes work_pending as 0 and frees\nthe structure while the second work item is still active in the queue,\nleading to UAF.\n\nFix this by returning early in udp_tunnel_nic_device_sync() if\nwork_pending is already set, preventing redundant work queueing."}], "metrics": [{"cvssV3_1": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH"}, "scenarios": [{"lang": "en", "value": "AV:L - The bug is reached only through local netlink/RTNL paths (VXLAN/Geneve tunnel socket create/delete, netdev feature updates, or netdev unregister) that queue udp_tunnel_nic_device_sync; remote UDP/VXLAN packets do not enter this offload management code.\nAC:L - An attacker can reliably win the race by running concurrent tunnel create/delete or netdev operations in multiple threads; both the double-queue and the premature free depend on attacker-controlled timing, not on uncontrollable system state.\nPR:L - Triggering udp_tunnel_notify_add/del_rx_port requires CAP_NET_ADMIN (e.g. ip link add/del vxlan/geneve), which unprivileged users can obtain in a user/network namespace via unshare; no remote or pre-auth network path exists.\nUI:N - Exploitation requires only programmatic tunnel or netdev manipulation via netlink; no victim user action such as opening a file or mounting a filesystem is needed.\nS:U - Impact is kernel heap corruption and potential privilege escalation within the same kernel/host security domain; it does not by itself cross a VM, container, or IOMMU boundary to another authority.\nC:H - The flaw is a use-after-free of struct udp_tunnel_nic; freed offload state can be reallocated and read through the still-queued work handler, enabling arbitrary kernel memory disclosure.\nI:H - UAF on the udp_tunnel_nic work item and its entries allows heap grooming and corrupting kernel objects/driver callbacks, supporting arbitrary write and potential kernel code execution.\nA:H - Use-after-free in a workqueue handler on a shared offload path can cause kernel oops/panic or wedged NIC offload during concurrent tunnel churn, producing total loss of availability."}]}], "affected": [{"product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": ["net/ipv4/udp_tunnel_nic.c"], "versions": [{"version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76", "lessThan": "d59d3b19e1cd1a01a6db59705327387a30aed153", "status": "affected", "versionType": "git"}, {"version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76", "lessThan": "f49ed02fd8c98da823fdd7b00d64a8cc1d1883ac", "status": "affected", "versionType": "git"}, {"version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76", "lessThan": "cee6688e5731c0591643521716d1a1a5c1a98bf8", "status": "affected", "versionType": "git"}, {"version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76", "lessThan": "9075efb9b2c1d9d7a8285c937b64aa93ca0c41b7", "status": "affected", "versionType": "git"}, {"version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76", "lessThan": "54292b167466cdf42176b7b6f01da66c184deb12", "status": "affected", "versionType": "git"}, {"version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76", "lessThan": "ecf69d4b43370c587e48d4d70289dbdb7e039d4d", "status": "affected", "versionType": "git"}]}, {"product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": ["net/ipv4/udp_tunnel_nic.c"], "versions": [{"version": "5.9", "status": "affected"}, {"version": "0", "lessThan": "5.9", "status": "unaffected", "versionType": "semver"}, {"version": "6.1.191", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver"}, {"version": "6.6.160", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver"}, {"version": "6.12.97", "lessThanOrEqual": "6.12.*", "status": "unaffected", "versionType": "semver"}, {"version": "6.18.40", "lessThanOrEqual": "6.18.*", "status": "unaffected", "versionType": "semver"}, {"version": "7.1.5", "lessThanOrEqual": "7.1.*", "status": "unaffected", "versionType": "semver"}, {"version": "7.2", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix"}]}], "cpeApplicability": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.9", "versionEndExcluding": "6.1.191"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.9", "versionEndExcluding": "6.6.160"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.9", "versionEndExcluding": "6.12.97"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.9", "versionEndExcluding": "6.18.40"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.9", "versionEndExcluding": "7.1.5"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.9", "versionEndExcluding": "7.2"}]}]}], "references": [{"url": "https://git.kernel.org/stable/c/d59d3b19e1cd1a01a6db59705327387a30aed153"}, {"url": "https://git.kernel.org/stable/c/f49ed02fd8c98da823fdd7b00d64a8cc1d1883ac"}, {"url": "https://git.kernel.org/stable/c/cee6688e5731c0591643521716d1a1a5c1a98bf8"}, {"url": "https://git.kernel.org/stable/c/9075efb9b2c1d9d7a8285c937b64aa93ca0c41b7"}, {"url": "https://git.kernel.org/stable/c/54292b167466cdf42176b7b6f01da66c184deb12"}, {"url": "https://git.kernel.org/stable/c/ecf69d4b43370c587e48d4d70289dbdb7e039d4d"}], "title": "net: udp_tunnel: prevent double queueing in udp_tunnel_nic_device_sync", "x_generator": {"engine": "bippy-1.2.0"}}, "adp": [{"metrics": [{"other": {"type": "ssvc", "content": {"id": "CVE-2026-72405", "role": "CISA Coordinator", "options": [{"Exploitation": "none"}, {"Automatable": "no"}, {"Technical Impact": "total"}], "version": "2.0.3", "timestamp": "2026-10-16T18:49:07.638343Z"}}}], "title": "CISA ADP Vulnrichment", "providerMetadata": {"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-10-16T18:55:21.945Z"}}]}}