GHSA-C3QJ-MC3F-4R7R
Vulnerability from github – Published: 2026-10-18 18:32 – Updated: 2026-10-30 15:34In 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:
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
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.
It was observed on a Raspberry Pi CM4, but should apply to all other genet devices.
{
"affected": [],
"aliases": [
"CVE-2026-98798"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-10-18T16:17:33Z",
"severity": null
},
"details": "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-\u003epriv. 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.",
"id": "GHSA-c3qj-mc3f-4r7r",
"modified": "2026-10-30T15:34:02Z",
"published": "2026-10-18T18:32:04Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98798"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/0d867b91598b6ed2f75998c34f4e2869631da31e"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/19419faf58dfe5bcc8a9e60e622976c5f8e3ddc1"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/213ff02ab26a4543ef02b4db393bbdd5fa5679a7"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/2294b62eaec6fd3c76a261d287f66641eeafd5f0"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/51e76b4113e5147329ed8dd232375bf11fd34044"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/d870102b5425390cab42eebbf3d19ec6a43c6734"
}
],
"schema_version": "1.4.0",
"severity": []
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.