{"id":"CVE-2026-90115","state":"PUBLISHED","title":"xsk: fix NULL pointer dereference in __xsk_rcv()","description":"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.","publishedAt":"2026-09-17T16:06:21.376Z","updatedAt":"2026-10-19T08:58:13.777Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"804627751b4281dd95148e7564759145da67855e","status":"affected","lessThan":"aaebce297efc3e3dccb98a6ff838cfaa47db08db","versionType":"git"},{"version":"804627751b4281dd95148e7564759145da67855e","status":"affected","lessThan":"60d7d3559ce66e227e195e9463cdfed8077c8659","versionType":"git"},{"version":"804627751b4281dd95148e7564759145da67855e","status":"affected","lessThan":"214fb79b0379cb0214905632a2537c0c33f594eb","versionType":"git"},{"version":"804627751b4281dd95148e7564759145da67855e","status":"affected","lessThan":"8341bd3ff126d85bc8c4ed52eedcaa5b1a65f194","versionType":"git"},{"version":"804627751b4281dd95148e7564759145da67855e","status":"affected","lessThan":"e37b2abca80473e106176e41712a369fd2f72117","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/xdp/xsk.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.6","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.6","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.52","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/xdp/xsk.c"]}],"references":["https://git.kernel.org/stable/c/aaebce297efc3e3dccb98a6ff838cfaa47db08db","https://git.kernel.org/stable/c/60d7d3559ce66e227e195e9463cdfed8077c8659","https://git.kernel.org/stable/c/214fb79b0379cb0214905632a2537c0c33f594eb","https://git.kernel.org/stable/c/8341bd3ff126d85bc8c4ed52eedcaa5b1a65f194","https://git.kernel.org/stable/c/e37b2abca80473e106176e41712a369fd2f72117"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:34.582Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/90xxx/CVE-2026-90115.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-90115","state":"PUBLISHED","datePublished":"2026-09-17T16:06:21.376Z","dateUpdated":"2026-10-19T08:58:13.777Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-11T19:38:34.787Z"},"containers":{"cna":{"title":"xsk: fix NULL pointer dereference in __xsk_rcv()","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."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"804627751b4281dd95148e7564759145da67855e","status":"affected","lessThan":"aaebce297efc3e3dccb98a6ff838cfaa47db08db","versionType":"git"},{"version":"804627751b4281dd95148e7564759145da67855e","status":"affected","lessThan":"60d7d3559ce66e227e195e9463cdfed8077c8659","versionType":"git"},{"version":"804627751b4281dd95148e7564759145da67855e","status":"affected","lessThan":"214fb79b0379cb0214905632a2537c0c33f594eb","versionType":"git"},{"version":"804627751b4281dd95148e7564759145da67855e","status":"affected","lessThan":"8341bd3ff126d85bc8c4ed52eedcaa5b1a65f194","versionType":"git"},{"version":"804627751b4281dd95148e7564759145da67855e","status":"affected","lessThan":"e37b2abca80473e106176e41712a369fd2f72117","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/xdp/xsk.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.6","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.6","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.52","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/xdp/xsk.c"]}],"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"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T08:58:13.777Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6","versionEndExcluding":"6.6.157"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6","versionEndExcluding":"6.12.110"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6","versionEndExcluding":"6.18.52"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6","versionEndExcluding":"7.2.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}