« Volver al listado

CVE-2026-46165

Estado: AnalizadaMedia (5.5)—

In the Linux kernel, the following vulnerability has been resolved:

openvswitch: vport: fix self-deadlock on release of tunnel ports

vports are used concurrently and protected by RCU, so netdev_put() must happen after the RCU grace period. So, either in an RCU call or after the synchronize_net(). The rtnl_delete_link() must happen under RTNL and so can't be executed in RCU context. Calling synchronize_net() while holding RTNL is not a good idea for performance and system stability under load in general, so calling netdev_put() in RCU call is the right solution here.

However, when the device is deleted, rtnl_unlock() will call netdev_run_todo() and block until all the references are gone.

Leer descripción completaMostrar menos

In the current code this means that we never reach the call_rcu() and the vport is never freed and the reference is never released, causing a self-deadlock on device removal.

Fix that by moving the rcu_call() before the rtnl_unlock(), so the scheduled RCU callback will be executed when synchronize_net() is called from the rtnl_unlock()->netdev_run_todo() while the RTNL itself is already released.

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-46165",
  "cveTags": [],
  "metrics": {
    "cvssMetricV31": [
      {
        "type": "Primary",
        "source": "nvd@nist.gov",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.5,
          "attackVector": "LOCAL",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "LOW",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 1.8
      }
    ]
  },
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "9d56aced21fb9c104e8a3f3be9b21fbafe448ffc",
              "lessThan": "8ae6c15fc473c9ad03b0173330cce9a092c76154",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "42f0d3d81209654c08ffdde5a34b9b92d2645896",
              "lessThan": "c741433f6c8dcdecd1d9549d89053761fd1ea413",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "bbe7bd722bfaea36aab3da6cc60fb4a05c644643",
              "lessThan": "6522d59fb7de55ce0f0f285d962243ddffebb01f",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "98b726ab5e2a4811e27c28e4d041f75bba147eab",
              "lessThan": "3df75fff46b1517eb479d8e6b8e3500763715dd0",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "6931d21f87bc6d657f145798fad0bf077b82486c",
              "lessThan": "366c482965c673565ecb8bcfb15d5548f13a6a10",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "6931d21f87bc6d657f145798fad0bf077b82486c",
              "lessThan": "aa69918bd418e700309fdd08509dba324fb24296",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b8c56a3fc5d879c0928f207a756b0f067f06c6a8",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "6.1.168",
              "lessThan": "6.1.175",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "6.6.131",
              "lessThan": "6.6.140",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "6.12.80",
              "lessThan": "6.12.88",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "6.18.21",
              "lessThan": "6.18.30",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "6.19.11",
              "lessThan": "6.20",
              "versionType": "semver"
            }
          ],
          "programFiles": [
            "net/openvswitch/vport-netdev.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.0"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "7.0",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.1.175",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.6.140",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.88",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.30",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.0.7",
              "versionType": "semver",
              "lessThanOrEqual": "7.0.*"
            },
            {
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "net/openvswitch/vport-netdev.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-05-28T10:16:32.143",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/366c482965c673565ecb8bcfb15d5548f13a6a10",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/3df75fff46b1517eb479d8e6b8e3500763715dd0",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6522d59fb7de55ce0f0f285d962243ddffebb01f",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/8ae6c15fc473c9ad03b0173330cce9a092c76154",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/aa69918bd418e700309fdd08509dba324fb24296",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/c741433f6c8dcdecd1d9549d89053761fd1ea413",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Primary",
      "source": "nvd@nist.gov",
      "description": [
        {
          "lang": "en",
          "value": "CWE-667"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nopenvswitch: vport: fix self-deadlock on release of tunnel ports\n\nvports are used concurrently and protected by RCU, so netdev_put()\nmust happen after the RCU grace period.  So, either in an RCU call or\nafter the synchronize_net().  The rtnl_delete_link() must happen under\nRTNL and so can't be executed in RCU context.  Calling synchronize_net()\nwhile holding RTNL is not a good idea for performance and system\nstability under load in general, so calling netdev_put() in RCU call\nis the right solution here.\n\nHowever,\nwhen the device is deleted, rtnl_unlock() will call netdev_run_todo()\nand block until all the references are gone.  In the current code this\nmeans that we never reach the call_rcu() and the vport is never freed\nand the reference is never released, causing a self-deadlock on device\nremoval.\n\nFix that by moving the rcu_call() before the rtnl_unlock(), so the\nscheduled RCU callback will be executed when synchronize_net() is\ncalled from the rtnl_unlock()->netdev_run_todo() while the RTNL itself\nis already released."
    }
  ],
  "lastModified": "2026-06-17T10:53:12.020",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "BA615F2E-CA22-4102-8963-19B863562B8B",
              "versionEndExcluding": "6.1.175",
              "versionStartIncluding": "6.1.168"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "47C3640C-85A5-40EE-AF21-98391E83B6DC",
              "versionEndExcluding": "6.6.140",
              "versionStartIncluding": "6.6.131"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "E46B921E-D043-4207-9A6F-92116DB05665",
              "versionEndExcluding": "6.12.88",
              "versionStartIncluding": "6.12.80"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "884A2E77-2D48-4E5F-A5F1-9A4EBD65B654",
              "versionEndExcluding": "6.18.30",
              "versionStartIncluding": "6.18.21"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "F53ED003-3CB4-46DA-AC01-C8F5E64CBF9B",
              "versionEndExcluding": "7.0",
              "versionStartIncluding": "6.19.11"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "4E7653F8-38DF-470F-848F-5CB1C487C23E",
              "versionEndExcluding": "7.0.7",
              "versionStartIncluding": "7.0.1"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:7.0:-:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "EF897730-3F1E-47A2-8B07-22535202C487"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "1D2315C0-D46F-4F85-9754-F9E5E11374A6"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "512EE3A8-A590-4501-9A94-5D4B268D6138"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "B1EF7059-E670-45F4-B422-54C40FA86390"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "0D38F0BF-A728-4133-A358-D44A2F7EE6D6"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}