CVE-2026-80731 (GCVE-0-2026-80731)
Vulnerability from cvelistv5
Published
2026-09-03 08:21
Modified
2026-10-16 19:26
Summary
In the Linux kernel, the following vulnerability has been resolved: net: remove CAP_SYS_RAWIO zero-padding in dev_validate_header dev_validate_header() reads dev->hard_header_len directly when zero-padding short link layer headers for CAP_SYS_RAWIO holders: if (capable(CAP_SYS_RAWIO)) { memset(ll_header + len, 0, dev->hard_header_len - len); return true; } Packet send paths call dev_validate_header() on skbs whose headroom was allocated from an earlier hard_header_len read. If the device is reconfigured so that dev->hard_header_len increases before validation, the memset writes past the reserved buffer, an out-of-bounds write. This out-of-bounds write is masked in some SOCK_RAW paths today because the same concurrent increase can first make skb_push() exceed the reserved headroom and trigger skb_under_panic(). Remove the zero-padding branch before making those hard_header_len reads consistent, so the snapshot fixes do not turn a loud panic into a silent overwrite. This path is only reached for variable length L2 protocols, where len < hard_header_len but len >= min_header_len. No remaining in-tree variable length L2 protocol implements header_ops->validate, and the CAP_SYS_RAWIO bypass that zero-pads and accepts short headers has no real value beyond allowing testing of intentionally malformed input. Drop the CAP_SYS_RAWIO branch. The remaining reads of dev->hard_header_len in dev_validate_header() are comparisons only and have no memory safety impact.
Impacted products
Vendor Product Version
Linux Linux Version: b5518429e70cd783b8ca52335456172c1a0589f6
Version: 2793a23aacbd754dbbb5cb75093deb7e4103bace
Version: 2793a23aacbd754dbbb5cb75093deb7e4103bace
Version: 2793a23aacbd754dbbb5cb75093deb7e4103bace
Version: 2793a23aacbd754dbbb5cb75093deb7e4103bace
Version: 2793a23aacbd754dbbb5cb75093deb7e4103bace
Version: 2793a23aacbd754dbbb5cb75093deb7e4103bace
Version: 2793a23aacbd754dbbb5cb75093deb7e4103bace
Version: 2793a23aacbd754dbbb5cb75093deb7e4103bace
Version: f58a6c08ebdfa978178bbca78c2ba744a2665912
Version: 1df16498dfd0d5a129bdf2982d9a08df73e8923d
Version: 8b8d278aa4de9335682bbd4a3bb619af015c859e
Version: 6804052fa9d86e9a512c88b24a5debbfc1a490fc
Version: 3.2.80   ≤
Version: 3.16.36   ≤
Version: 4.1.28   ≤
Version: 4.4.8   ≤
Version: 4.5.2   ≤
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2026-80731",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-10-16T19:21:14.341917Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-10-16T19:26:36.020Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "include/linux/netdevice.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "53fd7f912c0877647d6a1e1877f5ea8535ee0b4a",
              "status": "affected",
              "version": "b5518429e70cd783b8ca52335456172c1a0589f6",
              "versionType": "git"
            },
            {
              "lessThan": "fa6d98dd925e72fc028b26a0cbbff9d2f0601ff6",
              "status": "affected",
              "version": "2793a23aacbd754dbbb5cb75093deb7e4103bace",
              "versionType": "git"
            },
            {
              "lessThan": "8fc9816404166a90ed8d544dc52482fafffb6d9f",
              "status": "affected",
              "version": "2793a23aacbd754dbbb5cb75093deb7e4103bace",
              "versionType": "git"
            },
            {
              "lessThan": "b0f92a5731dc82556a9ae005cc35f71ab136307b",
              "status": "affected",
              "version": "2793a23aacbd754dbbb5cb75093deb7e4103bace",
              "versionType": "git"
            },
            {
              "lessThan": "99df6b7a713f96eda206680d100b76e15f9d9b69",
              "status": "affected",
              "version": "2793a23aacbd754dbbb5cb75093deb7e4103bace",
              "versionType": "git"
            },
            {
              "lessThan": "74e035f07f53feca09e2352e77fccb09cad5e208",
              "status": "affected",
              "version": "2793a23aacbd754dbbb5cb75093deb7e4103bace",
              "versionType": "git"
            },
            {
              "lessThan": "dbb30dc943a93e083f1e531bfdc6779e57de40d0",
              "status": "affected",
              "version": "2793a23aacbd754dbbb5cb75093deb7e4103bace",
              "versionType": "git"
            },
            {
              "lessThan": "fc902f52a02298c7432b2334c0c82a2885a1a8b6",
              "status": "affected",
              "version": "2793a23aacbd754dbbb5cb75093deb7e4103bace",
              "versionType": "git"
            },
            {
              "lessThan": "3b9a324e646d3657a8d9806dfbfe4f3e4066e882",
              "status": "affected",
              "version": "2793a23aacbd754dbbb5cb75093deb7e4103bace",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "f58a6c08ebdfa978178bbca78c2ba744a2665912",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "1df16498dfd0d5a129bdf2982d9a08df73e8923d",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "8b8d278aa4de9335682bbd4a3bb619af015c859e",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "6804052fa9d86e9a512c88b24a5debbfc1a490fc",
              "versionType": "git"
            },
            {
              "lessThan": "3.2.81",
              "status": "affected",
              "version": "3.2.80",
              "versionType": "semver"
            },
            {
              "lessThan": "3.17",
              "status": "affected",
              "version": "3.16.36",
              "versionType": "semver"
            },
            {
              "lessThan": "4.2",
              "status": "affected",
              "version": "4.1.28",
              "versionType": "semver"
            },
            {
              "lessThan": "4.5",
              "status": "affected",
              "version": "4.4.8",
              "versionType": "semver"
            },
            {
              "lessThan": "4.6",
              "status": "affected",
              "version": "4.5.2",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "include/linux/netdevice.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.6"
            },
            {
              "lessThan": "4.6",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "3.2.*",
              "status": "unaffected",
              "version": "3.2.81",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.265",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.216",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.183",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.152",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.104",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.45",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.9",
              "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": "3.2.81",
                  "versionStartIncluding": "3.2.80",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.265",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.216",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.183",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.152",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.104",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.45",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.9",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "3.16.36",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.1.28",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.4.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.5.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: remove CAP_SYS_RAWIO zero-padding in dev_validate_header\n\ndev_validate_header() reads dev-\u003ehard_header_len directly when\nzero-padding short link layer headers for CAP_SYS_RAWIO holders:\n\n    if (capable(CAP_SYS_RAWIO)) {\n        memset(ll_header + len, 0, dev-\u003ehard_header_len - len);\n        return true;\n    }\n\nPacket send paths call dev_validate_header() on skbs whose headroom was\nallocated from an earlier hard_header_len read. If the device is\nreconfigured so that dev-\u003ehard_header_len increases before validation,\nthe memset writes past the reserved buffer, an out-of-bounds write.\n\nThis out-of-bounds write is masked in some SOCK_RAW paths today because\nthe same concurrent increase can first make skb_push() exceed the\nreserved headroom and trigger skb_under_panic(). Remove the zero-padding\nbranch before making those hard_header_len reads consistent, so the\nsnapshot fixes do not turn a loud panic into a silent overwrite.\n\nThis path is only reached for variable length L2 protocols, where\nlen \u003c hard_header_len but len \u003e= min_header_len. No remaining in-tree\nvariable length L2 protocol implements header_ops-\u003evalidate, and the\nCAP_SYS_RAWIO bypass that zero-pads and accepts short headers has no\nreal value beyond allowing testing of intentionally malformed input.\n\nDrop the CAP_SYS_RAWIO branch. The remaining reads of\ndev-\u003ehard_header_len in dev_validate_header() are comparisons only and\nhave no memory safety impact."
        }
      ],
      "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 - Exploitation requires a local sendmsg() on a PF_PACKET SOCK_RAW socket; dev_validate_header() is only reached from af_packet transmit paths (packet_snd, packet_sendmsg_spkt, tpacket_fill_skb), not from remote packet receive.\nAC:L - The attacker can reliably win the TOCTOU race by concurrently sending PF_PACKET frames while changing netdev hard_header_len (e.g., PPP channel attach or bonding slave updates via rtnetlink), controlling both allocation and validation sides.\nPR:L - PF_PACKET creation requires CAP_NET_RAW and the memset bypass requires CAP_SYS_RAWIO; both are granted to user-namespace root (CAP_FULL_SET via unshare -Urn), so a basic unprivileged local user can obtain the needed privileges without init-namespace root.\nUI:N - No victim interaction is required; exploitation is fully attacker-driven through socket creation, concurrent device reconfiguration, and crafted sendmsg() calls.\nS:U - Impact is kernel heap memory corruption and local privilege escalation within the same kernel security domain, not a VM escape, IOMMU bypass, or other cross-authority boundary violation.\nC:H - The bug is an out-of-bounds write via memset() past skb link-layer headroom when hard_header_len grows between allocation and validation; such heap corruption can be groomed into arbitrary kernel memory read primitives.\nI:H - Writing past the reserved skb headroom corrupts adjacent kernel heap objects and is a standard exploitable primitive for arbitrary kernel writes, control-flow hijacking, and privilege escalation.\nA:H - The out-of-bounds memset can corrupt critical kernel structures and trigger oops/panic; the commit notes this can silently overwrite memory where other SOCK_RAW paths would have panicked via skb_under_panic."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-04T04:58:17.510Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/53fd7f912c0877647d6a1e1877f5ea8535ee0b4a"
        },
        {
          "url": "https://git.kernel.org/stable/c/fa6d98dd925e72fc028b26a0cbbff9d2f0601ff6"
        },
        {
          "url": "https://git.kernel.org/stable/c/8fc9816404166a90ed8d544dc52482fafffb6d9f"
        },
        {
          "url": "https://git.kernel.org/stable/c/b0f92a5731dc82556a9ae005cc35f71ab136307b"
        },
        {
          "url": "https://git.kernel.org/stable/c/99df6b7a713f96eda206680d100b76e15f9d9b69"
        },
        {
          "url": "https://git.kernel.org/stable/c/74e035f07f53feca09e2352e77fccb09cad5e208"
        },
        {
          "url": "https://git.kernel.org/stable/c/dbb30dc943a93e083f1e531bfdc6779e57de40d0"
        },
        {
          "url": "https://git.kernel.org/stable/c/fc902f52a02298c7432b2334c0c82a2885a1a8b6"
        },
        {
          "url": "https://git.kernel.org/stable/c/3b9a324e646d3657a8d9806dfbfe4f3e4066e882"
        }
      ],
      "title": "net: remove CAP_SYS_RAWIO zero-padding in dev_validate_header",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80731",
    "datePublished": "2026-09-03T08:21:48.924Z",
    "dateReserved": "2026-08-26T14:34:25.789Z",
    "dateUpdated": "2026-10-16T19:26:36.020Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-80731\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-10-16T19:21:14.341917Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-10-16T19:21:15.541Z\"}}], \"cna\": {\"title\": \"net: remove CAP_SYS_RAWIO zero-padding in dev_validate_header\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.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\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - Exploitation requires a local sendmsg() on a PF_PACKET SOCK_RAW socket; dev_validate_header() is only reached from af_packet transmit paths (packet_snd, packet_sendmsg_spkt, tpacket_fill_skb), not from remote packet receive.\\nAC:L - The attacker can reliably win the TOCTOU race by concurrently sending PF_PACKET frames while changing netdev hard_header_len (e.g., PPP channel attach or bonding slave updates via rtnetlink), controlling both allocation and validation sides.\\nPR:L - PF_PACKET creation requires CAP_NET_RAW and the memset bypass requires CAP_SYS_RAWIO; both are granted to user-namespace root (CAP_FULL_SET via unshare -Urn), so a basic unprivileged local user can obtain the needed privileges without init-namespace root.\\nUI:N - No victim interaction is required; exploitation is fully attacker-driven through socket creation, concurrent device reconfiguration, and crafted sendmsg() calls.\\nS:U - Impact is kernel heap memory corruption and local privilege escalation within the same kernel security domain, not a VM escape, IOMMU bypass, or other cross-authority boundary violation.\\nC:H - The bug is an out-of-bounds write via memset() past skb link-layer headroom when hard_header_len grows between allocation and validation; such heap corruption can be groomed into arbitrary kernel memory read primitives.\\nI:H - Writing past the reserved skb headroom corrupts adjacent kernel heap objects and is a standard exploitable primitive for arbitrary kernel writes, control-flow hijacking, and privilege escalation.\\nA:H - The out-of-bounds memset can corrupt critical kernel structures and trigger oops/panic; the commit notes this can silently overwrite memory where other SOCK_RAW paths would have panicked via skb_under_panic.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"b5518429e70cd783b8ca52335456172c1a0589f6\", \"lessThan\": \"53fd7f912c0877647d6a1e1877f5ea8535ee0b4a\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2793a23aacbd754dbbb5cb75093deb7e4103bace\", \"lessThan\": \"fa6d98dd925e72fc028b26a0cbbff9d2f0601ff6\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2793a23aacbd754dbbb5cb75093deb7e4103bace\", \"lessThan\": \"8fc9816404166a90ed8d544dc52482fafffb6d9f\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2793a23aacbd754dbbb5cb75093deb7e4103bace\", \"lessThan\": \"b0f92a5731dc82556a9ae005cc35f71ab136307b\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2793a23aacbd754dbbb5cb75093deb7e4103bace\", \"lessThan\": \"99df6b7a713f96eda206680d100b76e15f9d9b69\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2793a23aacbd754dbbb5cb75093deb7e4103bace\", \"lessThan\": \"74e035f07f53feca09e2352e77fccb09cad5e208\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2793a23aacbd754dbbb5cb75093deb7e4103bace\", \"lessThan\": \"dbb30dc943a93e083f1e531bfdc6779e57de40d0\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2793a23aacbd754dbbb5cb75093deb7e4103bace\", \"lessThan\": \"fc902f52a02298c7432b2334c0c82a2885a1a8b6\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2793a23aacbd754dbbb5cb75093deb7e4103bace\", \"lessThan\": \"3b9a324e646d3657a8d9806dfbfe4f3e4066e882\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"f58a6c08ebdfa978178bbca78c2ba744a2665912\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"1df16498dfd0d5a129bdf2982d9a08df73e8923d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"8b8d278aa4de9335682bbd4a3bb619af015c859e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"6804052fa9d86e9a512c88b24a5debbfc1a490fc\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"3.2.80\", \"lessThan\": \"3.2.81\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"3.16.36\", \"lessThan\": \"3.17\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"4.1.28\", \"lessThan\": \"4.2\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"4.4.8\", \"lessThan\": \"4.5\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"4.5.2\", \"lessThan\": \"4.6\", \"versionType\": \"semver\"}], \"programFiles\": [\"include/linux/netdevice.h\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.6\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.6\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"3.2.81\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"3.2.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.265\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.216\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.183\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.152\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12.104\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.12.*\"}, {\"status\": \"unaffected\", \"version\": \"6.18.45\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.18.*\"}, {\"status\": \"unaffected\", \"version\": \"7.1.9\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"7.1.*\"}, {\"status\": \"unaffected\", \"version\": \"7.2\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"include/linux/netdevice.h\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/53fd7f912c0877647d6a1e1877f5ea8535ee0b4a\"}, {\"url\": \"https://git.kernel.org/stable/c/fa6d98dd925e72fc028b26a0cbbff9d2f0601ff6\"}, {\"url\": \"https://git.kernel.org/stable/c/8fc9816404166a90ed8d544dc52482fafffb6d9f\"}, {\"url\": \"https://git.kernel.org/stable/c/b0f92a5731dc82556a9ae005cc35f71ab136307b\"}, {\"url\": \"https://git.kernel.org/stable/c/99df6b7a713f96eda206680d100b76e15f9d9b69\"}, {\"url\": \"https://git.kernel.org/stable/c/74e035f07f53feca09e2352e77fccb09cad5e208\"}, {\"url\": \"https://git.kernel.org/stable/c/dbb30dc943a93e083f1e531bfdc6779e57de40d0\"}, {\"url\": \"https://git.kernel.org/stable/c/fc902f52a02298c7432b2334c0c82a2885a1a8b6\"}, {\"url\": \"https://git.kernel.org/stable/c/3b9a324e646d3657a8d9806dfbfe4f3e4066e882\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: remove CAP_SYS_RAWIO zero-padding in dev_validate_header\\n\\ndev_validate_header() reads dev-\u003ehard_header_len directly when\\nzero-padding short link layer headers for CAP_SYS_RAWIO holders:\\n\\n    if (capable(CAP_SYS_RAWIO)) {\\n        memset(ll_header + len, 0, dev-\u003ehard_header_len - len);\\n        return true;\\n    }\\n\\nPacket send paths call dev_validate_header() on skbs whose headroom was\\nallocated from an earlier hard_header_len read. If the device is\\nreconfigured so that dev-\u003ehard_header_len increases before validation,\\nthe memset writes past the reserved buffer, an out-of-bounds write.\\n\\nThis out-of-bounds write is masked in some SOCK_RAW paths today because\\nthe same concurrent increase can first make skb_push() exceed the\\nreserved headroom and trigger skb_under_panic(). Remove the zero-padding\\nbranch before making those hard_header_len reads consistent, so the\\nsnapshot fixes do not turn a loud panic into a silent overwrite.\\n\\nThis path is only reached for variable length L2 protocols, where\\nlen \u003c hard_header_len but len \u003e= min_header_len. No remaining in-tree\\nvariable length L2 protocol implements header_ops-\u003evalidate, and the\\nCAP_SYS_RAWIO bypass that zero-pads and accepts short headers has no\\nreal value beyond allowing testing of intentionally malformed input.\\n\\nDrop the CAP_SYS_RAWIO branch. The remaining reads of\\ndev-\u003ehard_header_len in dev_validate_header() are comparisons only and\\nhave no memory safety impact.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"3.2.81\", \"versionStartIncluding\": \"3.2.80\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.265\", \"versionStartIncluding\": \"4.6\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.216\", \"versionStartIncluding\": \"4.6\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.183\", \"versionStartIncluding\": \"4.6\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.152\", \"versionStartIncluding\": \"4.6\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.12.104\", \"versionStartIncluding\": \"4.6\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.18.45\", \"versionStartIncluding\": \"4.6\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"7.1.9\", \"versionStartIncluding\": \"4.6\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"7.2\", \"versionStartIncluding\": \"4.6\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"3.16.36\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"4.1.28\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"4.4.8\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"4.5.2\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-09-04T04:58:17.510Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2026-80731\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-10-16T19:26:36.020Z\", \"dateReserved\": \"2026-08-26T14:34:25.789Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2026-09-03T08:21:48.924Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…