GHSA-2FQ7-GW6W-F3QV
Vulnerability from github – Published: 2026-10-06 09:31 – Updated: 2026-10-06 09:31In the Linux kernel, the following vulnerability has been resolved:
net: ip_tunnel: initialize options_len before referencing options
The following command triggers a kernel panic:
ip link add d0 type dummy; ip link set d0 up ip route add 10.30.0.0/16 \ encap ip id 300 geneve_opts 4660:66:11223344 dev d0
memcpy: detected buffer overflow: 4 byte write of buffer size 0 kernel BUG at lib/string_helpers.c:1044! ... ip_tun_parse_opts.part.0.cold+0x10/0x10 ip_tun_build_state+0x116/0x2a0
On kernels built with GCC 15+ and CONFIG_FORTIFY_SOURCE, the fortified
memcpy() got 0 sized destination with request of 4 bytes length:
static int ip_tun_parse_opts_geneve(...) { ... attr = tb[LWTUNNEL_IP_OPT_GENEVE_DATA]; data_len = nla_len(attr); /* == 4 */
struct geneve_opt *opt = ip_tunnel_info_opts(info) + opts_len;
memcpy(opt->opt_data, nla_data(attr), data_len);
/* ^^^^^^^^^^^^^ 0 since options_len is assigned afterwards */
Fixed by initializing the counter before the options are referenced.
Matching what tunnel_key_opts_set() already does.
{
"affected": [],
"aliases": [
"CVE-2026-98240"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-10-06T09:18:11Z",
"severity": null
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ip_tunnel: initialize `options_len` before referencing options\n\nThe following command triggers a kernel panic:\n\n ip link add d0 type dummy; ip link set d0 up\n ip route add 10.30.0.0/16 \\\n encap ip id 300 geneve_opts 4660:66:11223344 dev d0\n\n memcpy: detected buffer overflow: 4 byte write of buffer size 0\n kernel BUG at lib/string_helpers.c:1044!\n ...\n ip_tun_parse_opts.part.0.cold+0x10/0x10\n ip_tun_build_state+0x116/0x2a0\n\nOn kernels built with GCC 15+ and `CONFIG_FORTIFY_SOURCE`, the fortified\n`memcpy()` got 0 sized destination with request of 4 bytes length:\n\n static int ip_tun_parse_opts_geneve(...)\n {\n ...\n attr = tb[LWTUNNEL_IP_OPT_GENEVE_DATA];\n data_len = nla_len(attr); /* == 4 */\n\n struct geneve_opt *opt = ip_tunnel_info_opts(info) + opts_len;\n memcpy(opt-\u003eopt_data, nla_data(attr), data_len);\n /* ^^^^^^^^^^^^^ 0 since options_len is assigned afterwards */\n\nFixed by initializing the counter before the options are referenced.\nMatching what `tunnel_key_opts_set()` already does.",
"id": "GHSA-2fq7-gw6w-f3qv",
"modified": "2026-10-06T09:31:32Z",
"published": "2026-10-06T09:31:32Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98240"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/0f6a6beb01c068fcd5274eabf22c260039749fea"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/455ebeadf714f51e1dbbd6a022c74c9215b1cd76"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/9907325257b4b382f26aafd5d9a8d47915907dd5"
}
],
"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.