{"api_version":"1","generated_at":"2026-09-17T23:44:41+00:00","cve":"CVE-2026-90115","urls":{"html":"https://cve.report/CVE-2026-90115","api":"https://cve.report/api/cve/CVE-2026-90115.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-90115","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-90115"},"summary":{"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.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-17 17:17:03","updated_at":"2026-09-17 17:17:03"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/e37b2abca80473e106176e41712a369fd2f72117","name":"https://git.kernel.org/stable/c/e37b2abca80473e106176e41712a369fd2f72117","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/aaebce297efc3e3dccb98a6ff838cfaa47db08db","name":"https://git.kernel.org/stable/c/aaebce297efc3e3dccb98a6ff838cfaa47db08db","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/60d7d3559ce66e227e195e9463cdfed8077c8659","name":"https://git.kernel.org/stable/c/60d7d3559ce66e227e195e9463cdfed8077c8659","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/214fb79b0379cb0214905632a2537c0c33f594eb","name":"https://git.kernel.org/stable/c/214fb79b0379cb0214905632a2537c0c33f594eb","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/8341bd3ff126d85bc8c4ed52eedcaa5b1a65f194","name":"https://git.kernel.org/stable/c/8341bd3ff126d85bc8c4ed52eedcaa5b1a65f194","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-90115","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-90115","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 804627751b4281dd95148e7564759145da67855e aaebce297efc3e3dccb98a6ff838cfaa47db08db git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 804627751b4281dd95148e7564759145da67855e 60d7d3559ce66e227e195e9463cdfed8077c8659 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 804627751b4281dd95148e7564759145da67855e 214fb79b0379cb0214905632a2537c0c33f594eb git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 804627751b4281dd95148e7564759145da67855e 8341bd3ff126d85bc8c4ed52eedcaa5b1a65f194 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 804627751b4281dd95148e7564759145da67855e e37b2abca80473e106176e41712a369fd2f72117 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.6","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.157 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.110 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.52 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.6 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"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-rc1","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-rc1","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-09-17T16:06:21.376Z","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-09-17T16:06:21.376Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-17 17:17:03","lastModifiedDate":"2026-09-17 17:17:03","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"90115","Ordinal":"1","Title":"xsk: fix NULL pointer dereference in __xsk_rcv()","CVE":"CVE-2026-90115","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"90115","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"xsk: fix NULL pointer dereference in __xsk_rcv()"}]}}}