CVE-2026-72405 (GCVE-0-2026-72405)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:56 – Updated: 2026-08-17 05:43
VLAI
Title
net: udp_tunnel: prevent double queueing in udp_tunnel_nic_device_sync
Summary
In the Linux kernel, the following vulnerability has been resolved: net: udp_tunnel: prevent double queueing in udp_tunnel_nic_device_sync Yue Sun reported a use-after-free and debugobjects warning in udp_tunnel_nic_device_sync_work() during concurrent device operations. The workqueue core clears the internal pending bit before invoking the worker. At that point, a concurrent thread can queue the work again. When the already running worker eventually clears the work_pending flag to 0, it mistakenly clears the flag for the newly queued instance. udp_tunnel_nic_unregister() then observes work_pending as 0 and frees the structure while the second work item is still active in the queue, leading to UAF. Fix this by returning early in udp_tunnel_nic_device_sync() if work_pending is already set, preventing redundant work queueing.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: cc4e3835eff474aa274d6e1d18f69d9d296d3b76 , < cee6688e5731c0591643521716d1a1a5c1a98bf8 (git)
Affected: cc4e3835eff474aa274d6e1d18f69d9d296d3b76 , < 9075efb9b2c1d9d7a8285c937b64aa93ca0c41b7 (git)
Affected: cc4e3835eff474aa274d6e1d18f69d9d296d3b76 , < 54292b167466cdf42176b7b6f01da66c184deb12 (git)
Affected: cc4e3835eff474aa274d6e1d18f69d9d296d3b76 , < ecf69d4b43370c587e48d4d70289dbdb7e039d4d (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.9
Unaffected: 0 , < 5.9 (semver)
Unaffected: 6.12.97 , ≤ 6.12.* (semver)
Unaffected: 6.18.40 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/ipv4/udp_tunnel_nic.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "cee6688e5731c0591643521716d1a1a5c1a98bf8",
              "status": "affected",
              "version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76",
              "versionType": "git"
            },
            {
              "lessThan": "9075efb9b2c1d9d7a8285c937b64aa93ca0c41b7",
              "status": "affected",
              "version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76",
              "versionType": "git"
            },
            {
              "lessThan": "54292b167466cdf42176b7b6f01da66c184deb12",
              "status": "affected",
              "version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76",
              "versionType": "git"
            },
            {
              "lessThan": "ecf69d4b43370c587e48d4d70289dbdb7e039d4d",
              "status": "affected",
              "version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/ipv4/udp_tunnel_nic.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.9"
            },
            {
              "lessThan": "5.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.97",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "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": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "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."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:43:45.202Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "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"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72405",
    "datePublished": "2026-08-15T05:56:29.466Z",
    "dateReserved": "2026-08-09T03:40:39.925Z",
    "dateUpdated": "2026-08-17T05:43:45.202Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72405",
      "date": "2026-09-21",
      "epss": "0.00134",
      "percentile": "0.03287"
    },
    "microsoft_vex": {
      "current_release_date": "2026-08-23T14:51:02.000Z",
      "cve": "CVE-2026-72405",
      "id": "msrc_CVE-2026-72405",
      "initial_release_date": "2026-08-23T14:51:02.000Z",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "net: udp_tunnel: prevent double queueing in udp_tunnel_nic_device_sync",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-72405.json",
      "version": "1"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "net/ipv4/udp_tunnel_nic.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "cee6688e5731c0591643521716d1a1a5c1a98bf8",
                    "status": "affected",
                    "version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "9075efb9b2c1d9d7a8285c937b64aa93ca0c41b7",
                    "status": "affected",
                    "version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "54292b167466cdf42176b7b6f01da66c184deb12",
                    "status": "affected",
                    "version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "ecf69d4b43370c587e48d4d70289dbdb7e039d4d",
                    "status": "affected",
                    "version": "cc4e3835eff474aa274d6e1d18f69d9d296d3b76",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "net/ipv4/udp_tunnel_nic.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.9"
                  },
                  {
                    "lessThan": "5.9",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.97",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.40",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.5",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "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."
          }
        ],
        "id": "CVE-2026-72405",
        "lastModified": "2026-08-17T06:19:07.170",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-08-15T06:22:14.077",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/54292b167466cdf42176b7b6f01da66c184deb12"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/9075efb9b2c1d9d7a8285c937b64aa93ca0c41b7"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/cee6688e5731c0591643521716d1a1a5c1a98bf8"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ecf69d4b43370c587e48d4d70289dbdb7e039d4d"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-19T17:40:56+00:00",
      "cve": "CVE-2026-72405",
      "id": "CVE-2026-72405",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "232",
      "product_status:known_not_affected": "42",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: net: udp_tunnel: prevent double queueing in udp_tunnel_nic_device_sync",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72405.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-02T11:46:21Z",
      "cve": "CVE-2026-72405",
      "id": "CVE-2026-72405",
      "initial_release_date": "2026-09-02T11:46:21Z",
      "product_status:known_affected": "178",
      "product_status:known_not_affected": "184",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-72405",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-72405.json",
      "version": "2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…