CVE-2026-98798
In the Linux kernel, the following vulnerability has been resolved:
net: bcmgenet: fix NULL dereference in set_coalesce before first open
The Rx ring priv and index are only set in bcmgenet_init_rx_ring(), which runs at open. Setting the Rx coalescing parameters on an interface that was never opened, e.g. "ethtool -C eth0 rx-usecs 50", dereferences a NULL ring->priv. The oops happens with RTNL held, so networking stays stuck until a reboot:
Set priv and index at probe. Writing the registers while the interface is down is harmless because open resets the MAC and bcmgenet_init_rx_coalesce() reapplies the stored values.
Read full descriptionShow less
It was observed on a Raspberry Pi CM4, but should apply to all other genet devices.
Technical details traces, logs and code from the original report
Unable to handle kernel paging request at virtual address 0000000000002788 pc : bcmgenet_set_rx_coalesce.isra.0+0x10/0x88 lr : bcmgenet_set_coalesce+0xe8/0x180 Call trace: bcmgenet_set_rx_coalesce.isra.0+0x10/0x88 (P) __ethnl_set_coalesce.isra.0+0x490/0x570 ethnl_set_coalesce+0x48/0xc0 ethnl_default_set_doit+0xf4/0x230 genl_family_rcv_msg_doit+0xe8/0x160 genl_rcv_msg+0x220/0x2a0 netlink_rcv_skb+0x68/0x140 genl_rcv+0x40/0x60 netlink_unicast+0x338/0x3c0 netlink_sendmsg+0x19c/0x3f8 __sock_sendmsg+0x64/0xc0 __sys_sendto+0x124/0x198 __arm64_sys_sendto+0x30/0x48
CVSS
NVD hasn't assigned a CVSS score to this CVE (common since the April 2026 policy change).
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days
- 0.17 %
- Percentile among all scored CVEs
- 6
- Score date
- 10/20/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
Affected technologies (1)
⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.
References
Show 4 references
Raw JSON (NVD)
Show
{
"id": "CVE-2026-98798",
"cveTags": [],
"metrics": {},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "9f4ca05827a27ec73bf63a42732f1978b8a779af",
"lessThan": "0d867b91598b6ed2f75998c34f4e2869631da31e",
"versionType": "git"
},
{
"status": "affected",
"version": "9f4ca05827a27ec73bf63a42732f1978b8a779af",
"lessThan": "2294b62eaec6fd3c76a261d287f66641eeafd5f0",
"versionType": "git"
},
{
"status": "affected",
"version": "9f4ca05827a27ec73bf63a42732f1978b8a779af",
"lessThan": "d870102b5425390cab42eebbf3d19ec6a43c6734",
"versionType": "git"
},
{
"status": "affected",
"version": "9f4ca05827a27ec73bf63a42732f1978b8a779af",
"lessThan": "19419faf58dfe5bcc8a9e60e622976c5f8e3ddc1",
"versionType": "git"
}
],
"programFiles": [
"drivers/net/ethernet/broadcom/genet/bcmgenet.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4.17"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "4.17",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.12.113",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.56",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.10",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/net/ethernet/broadcom/genet/bcmgenet.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:33.807",
"references": [
{
"url": "https://git.kernel.org/stable/c/0d867b91598b6ed2f75998c34f4e2869631da31e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/19419faf58dfe5bcc8a9e60e622976c5f8e3ddc1",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/2294b62eaec6fd3c76a261d287f66641eeafd5f0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/d870102b5425390cab42eebbf3d19ec6a43c6734",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: bcmgenet: fix NULL dereference in set_coalesce before first open\n\nThe Rx ring priv and index are only set in bcmgenet_init_rx_ring(),\nwhich runs at open. Setting the Rx coalescing parameters on an interface\nthat was never opened, e.g. \"ethtool -C eth0 rx-usecs 50\", dereferences\na NULL ring->priv. The oops happens with RTNL held, so networking\nstays stuck until a reboot:\n\n Unable to handle kernel paging request at virtual address 0000000000002788\n pc : bcmgenet_set_rx_coalesce.isra.0+0x10/0x88\n lr : bcmgenet_set_coalesce+0xe8/0x180\n Call trace:\n bcmgenet_set_rx_coalesce.isra.0+0x10/0x88 (P)\n __ethnl_set_coalesce.isra.0+0x490/0x570\n ethnl_set_coalesce+0x48/0xc0\n ethnl_default_set_doit+0xf4/0x230\n genl_family_rcv_msg_doit+0xe8/0x160\n genl_rcv_msg+0x220/0x2a0\n netlink_rcv_skb+0x68/0x140\n genl_rcv+0x40/0x60\n netlink_unicast+0x338/0x3c0\n netlink_sendmsg+0x19c/0x3f8\n __sock_sendmsg+0x64/0xc0\n __sys_sendto+0x124/0x198\n __arm64_sys_sendto+0x30/0x48\n\nSet priv and index at probe. Writing the registers while the interface\nis down is harmless because open resets the MAC and\nbcmgenet_init_rx_coalesce() reapplies the stored values.\n\nIt was observed on a Raspberry Pi CM4, but should apply to all other\ngenet devices."
}
],
"lastModified": "2026-10-19T10:19:43.830",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}