← Back to CVE Explorer

CVE-2026-80846

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: xfrm: drop ESP-in-TCP packets with no ingress device ESP-in-TCP receives records through the TCP strparser. handle_esp() restores skb->dev from the saved skb_iif before passing the packet into the XFRM input path. Queued TCP data can be processed after the original ingress device has been removed, for example during veth or net namespace teardown. In that case dev_get_by_index_rcu() returns NULL. The XFRM IPv4 and IPv6 input paths both expect skb->dev to be valid while building the route lookup, so queued ESP-in-TCP data can dereference a NULL device. Drop the packet if the saved ingress device can no longer be resolved. Such a packet can no longer be routed through the normal XFRM receive path, and this preserves the existing behaviour for packets whose ingress device still exists.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-04 16:18:13.290000
Last modified
2026-10-19 09:17:20.080000
View original CVE JSON
{
  "id": "CVE-2026-80846",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-04T16:18:13.290",
  "lastModified": "2026-10-19T09:17:20.080",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nxfrm: drop ESP-in-TCP packets with no ingress device\n\nESP-in-TCP receives records through the TCP strparser. handle_esp()\nrestores skb->dev from the saved skb_iif before passing the packet into\nthe XFRM input path.\n\nQueued TCP data can be processed after the original ingress device has\nbeen removed, for example during veth or net namespace teardown. In that\ncase dev_get_by_index_rcu() returns NULL. The XFRM IPv4 and IPv6 input\npaths both expect skb->dev to be valid while building the route lookup,\nso queued ESP-in-TCP data can dereference a NULL device.\n\nDrop the packet if the saved ingress device can no longer be resolved.\nSuch a packet can no longer be routed through the normal XFRM receive\npath, and this preserves the existing behaviour for packets whose ingress\ndevice still exists."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "net/xfrm/espintcp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "e27cca96cd68fa2c6814c90f9a1cfd36bb68c593",
              "lessThan": "239d0f71af09dc2029fd4d730cb24b8c83aaa43a",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e27cca96cd68fa2c6814c90f9a1cfd36bb68c593",
              "lessThan": "f00235f9d12301183d61f75fbe4105506f3e5140",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e27cca96cd68fa2c6814c90f9a1cfd36bb68c593",
              "lessThan": "6af5cdb03819a5ce6e945992635c6c5e91045367",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e27cca96cd68fa2c6814c90f9a1cfd36bb68c593",
              "lessThan": "2dd1609cadff46c4b20ce53b91ab9cce1380456a",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e27cca96cd68fa2c6814c90f9a1cfd36bb68c593",
              "lessThan": "c296d25efbc840be24de83f56d43bc47e714ace9",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e27cca96cd68fa2c6814c90f9a1cfd36bb68c593",
              "lessThan": "328e40aa774b446969c69b654c52a051a95af8a1",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e27cca96cd68fa2c6814c90f9a1cfd36bb68c593",
              "lessThan": "7911e0236616487b89db6bd3ba3f408abd10eb23",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e27cca96cd68fa2c6814c90f9a1cfd36bb68c593",
              "lessThan": "943d95233b8b4a88994e244fcf466f8c403d63f1",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e27cca96cd68fa2c6814c90f9a1cfd36bb68c593",
              "lessThan": "e1d7c5ac1c246ce5775f604515de0a59fbf2116e",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "net/xfrm/espintcp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "5.6",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "5.6",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.269",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.220",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.187",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.156",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.108",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.49",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.1.13",
              "lessThanOrEqual": "7.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.3",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/239d0f71af09dc2029fd4d730cb24b8c83aaa43a",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/2dd1609cadff46c4b20ce53b91ab9cce1380456a",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/328e40aa774b446969c69b654c52a051a95af8a1",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6af5cdb03819a5ce6e945992635c6c5e91045367",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7911e0236616487b89db6bd3ba3f408abd10eb23",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/943d95233b8b4a88994e244fcf466f8c403d63f1",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/c296d25efbc840be24de83f56d43bc47e714ace9",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/e1d7c5ac1c246ce5775f604515de0a59fbf2116e",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f00235f9d12301183d61f75fbe4105506f3e5140",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}