CVE-2026-90115 (GCVE-0-2026-90115)
Vulnerability from cvelistv5
Published
2026-09-17 16:06
Modified
2026-10-19 08:58
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: xsk: fix NULL pointer dereference in __xsk_rcv() In the __xsk_rcv() multi-buffer path, xsk_buff_alloc() is called in a loop without checking its return value. xsk_buff_can_alloc() only counts fill queue entries without validating their addresses, so it can succeed while xsk_buff_alloc() rejects all remaining entries and returns NULL. Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000 KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] RIP: 0010:__xsk_rcv+0x426/0xc20 (net/xdp/xsk.c:350) Call Trace: xsk_generic_rcv+0x26d/0x5f0 xdp_do_generic_redirect+0x3c5/0xcf0 do_xdp_generic+0x92f/0xe70 __netif_receive_skb_core.constprop.0+0xf7e/0x2b30 Fix this with a two-stage transaction. First allocate and stage all buffers required for the packet, recycling all staged buffers with xsk_buff_free() if any allocation fails. Only after this stage succeeds, copy the data, reserve the RX descriptors, and release the buffers in an error-free loop.
Impacted products
Vendor Product Version
Linux Linux Version: 804627751b4281dd95148e7564759145da67855e
Version: 804627751b4281dd95148e7564759145da67855e
Version: 804627751b4281dd95148e7564759145da67855e
Version: 804627751b4281dd95148e7564759145da67855e
Version: 804627751b4281dd95148e7564759145da67855e
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/xdp/xsk.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "aaebce297efc3e3dccb98a6ff838cfaa47db08db",
              "status": "affected",
              "version": "804627751b4281dd95148e7564759145da67855e",
              "versionType": "git"
            },
            {
              "lessThan": "60d7d3559ce66e227e195e9463cdfed8077c8659",
              "status": "affected",
              "version": "804627751b4281dd95148e7564759145da67855e",
              "versionType": "git"
            },
            {
              "lessThan": "214fb79b0379cb0214905632a2537c0c33f594eb",
              "status": "affected",
              "version": "804627751b4281dd95148e7564759145da67855e",
              "versionType": "git"
            },
            {
              "lessThan": "8341bd3ff126d85bc8c4ed52eedcaa5b1a65f194",
              "status": "affected",
              "version": "804627751b4281dd95148e7564759145da67855e",
              "versionType": "git"
            },
            {
              "lessThan": "e37b2abca80473e106176e41712a369fd2f72117",
              "status": "affected",
              "version": "804627751b4281dd95148e7564759145da67855e",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/xdp/xsk.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.6"
            },
            {
              "lessThan": "6.6",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.52",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "6.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "6.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.52",
                  "versionStartIncluding": "6.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.6",
                  "versionStartIncluding": "6.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "6.6",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nxsk: fix NULL pointer dereference in __xsk_rcv()\n\nIn the __xsk_rcv() multi-buffer path, xsk_buff_alloc() is called in a\nloop without checking its return value. xsk_buff_can_alloc() only\ncounts fill queue entries without validating their addresses, so it\ncan succeed while xsk_buff_alloc() rejects all remaining entries and\nreturns NULL.\n\n  Oops: general protection fault, probably for non-canonical address\n   0xdffffc0000000000\n  KASAN: null-ptr-deref in range\n   [0x0000000000000000-0x0000000000000007]\n  RIP: 0010:__xsk_rcv+0x426/0xc20 (net/xdp/xsk.c:350)\n  Call Trace:\n   xsk_generic_rcv+0x26d/0x5f0\n   xdp_do_generic_redirect+0x3c5/0xcf0\n   do_xdp_generic+0x92f/0xe70\n   __netif_receive_skb_core.constprop.0+0xf7e/0x2b30\n\nFix this with a two-stage transaction. First allocate and stage all\nbuffers required for the packet, recycling all staged buffers with\nxsk_buff_free() if any allocation fails. Only after this stage\nsucceeds, copy the data, reserve the RX descriptors, and release the\nbuffers in an error-free loop."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T08:58:13.777Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/aaebce297efc3e3dccb98a6ff838cfaa47db08db"
        },
        {
          "url": "https://git.kernel.org/stable/c/60d7d3559ce66e227e195e9463cdfed8077c8659"
        },
        {
          "url": "https://git.kernel.org/stable/c/214fb79b0379cb0214905632a2537c0c33f594eb"
        },
        {
          "url": "https://git.kernel.org/stable/c/8341bd3ff126d85bc8c4ed52eedcaa5b1a65f194"
        },
        {
          "url": "https://git.kernel.org/stable/c/e37b2abca80473e106176e41712a369fd2f72117"
        }
      ],
      "title": "xsk: fix NULL pointer dereference in __xsk_rcv()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-90115",
    "datePublished": "2026-09-17T16:06:21.376Z",
    "dateReserved": "2026-09-11T19:38:34.787Z",
    "dateUpdated": "2026-10-19T08:58:13.777Z",
    "state": "PUBLISHED"
  },
  "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…