CVE-2026-23124 (GCVE-0-2026-23124)
Vulnerability from cvelistv5 – Published: 2026-02-14 15:09 – Updated: 2026-02-14 15:09
VLAI?
Title
ipv6: annotate data-race in ndisc_router_discovery()
Summary
In the Linux kernel, the following vulnerability has been resolved:
ipv6: annotate data-race in ndisc_router_discovery()
syzbot found that ndisc_router_discovery() could read and write
in6_dev->ra_mtu without holding a lock [1]
This looks fine, IFLA_INET6_RA_MTU is best effort.
Add READ_ONCE()/WRITE_ONCE() to document the race.
Note that we might also reject illegal MTU values
(mtu < IPV6_MIN_MTU || mtu > skb->dev->mtu) in a future patch.
[1]
BUG: KCSAN: data-race in ndisc_router_discovery / ndisc_router_discovery
read to 0xffff888119809c20 of 4 bytes by task 25817 on cpu 1:
ndisc_router_discovery+0x151d/0x1c90 net/ipv6/ndisc.c:1558
ndisc_rcv+0x2ad/0x3d0 net/ipv6/ndisc.c:1841
icmpv6_rcv+0xe5a/0x12f0 net/ipv6/icmp.c:989
ip6_protocol_deliver_rcu+0xb2a/0x10d0 net/ipv6/ip6_input.c:438
ip6_input_finish+0xf0/0x1d0 net/ipv6/ip6_input.c:489
NF_HOOK include/linux/netfilter.h:318 [inline]
ip6_input+0x5e/0x140 net/ipv6/ip6_input.c:500
ip6_mc_input+0x27c/0x470 net/ipv6/ip6_input.c:590
dst_input include/net/dst.h:474 [inline]
ip6_rcv_finish+0x336/0x340 net/ipv6/ip6_input.c:79
...
write to 0xffff888119809c20 of 4 bytes by task 25816 on cpu 0:
ndisc_router_discovery+0x155a/0x1c90 net/ipv6/ndisc.c:1559
ndisc_rcv+0x2ad/0x3d0 net/ipv6/ndisc.c:1841
icmpv6_rcv+0xe5a/0x12f0 net/ipv6/icmp.c:989
ip6_protocol_deliver_rcu+0xb2a/0x10d0 net/ipv6/ip6_input.c:438
ip6_input_finish+0xf0/0x1d0 net/ipv6/ip6_input.c:489
NF_HOOK include/linux/netfilter.h:318 [inline]
ip6_input+0x5e/0x140 net/ipv6/ip6_input.c:500
ip6_mc_input+0x27c/0x470 net/ipv6/ip6_input.c:590
dst_input include/net/dst.h:474 [inline]
ip6_rcv_finish+0x336/0x340 net/ipv6/ip6_input.c:79
...
value changed: 0x00000000 -> 0xe5400659
Severity ?
No CVSS data available.
Assigner
References
Impacted products
| Vendor | Product | Version | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Linux | Linux |
Affected:
49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 , < 4630897eb1a039b5d7b737b8dc9521d9d4b568b5
(git)
Affected: 49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 , < 2619499169fb1c2ac4974b0f2d87767fb543582b (git) Affected: 49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 , < fad8f4ff7928f4d52a062ffdcffa484989c79c47 (git) Affected: 49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 , < 2a2b9d25f801afecf2f83cacce98afa8fd73e3c9 (git) Affected: 49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 , < e3c1040252e598f7b4e33a42dc7c38519bc22428 (git) Affected: 49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 , < 9a063f96d87efc3a6cc667f8de096a3d38d74bb5 (git) |
|||||||
|
|||||||||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"net/ipv6/ndisc.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "4630897eb1a039b5d7b737b8dc9521d9d4b568b5",
"status": "affected",
"version": "49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7",
"versionType": "git"
},
{
"lessThan": "2619499169fb1c2ac4974b0f2d87767fb543582b",
"status": "affected",
"version": "49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7",
"versionType": "git"
},
{
"lessThan": "fad8f4ff7928f4d52a062ffdcffa484989c79c47",
"status": "affected",
"version": "49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7",
"versionType": "git"
},
{
"lessThan": "2a2b9d25f801afecf2f83cacce98afa8fd73e3c9",
"status": "affected",
"version": "49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7",
"versionType": "git"
},
{
"lessThan": "e3c1040252e598f7b4e33a42dc7c38519bc22428",
"status": "affected",
"version": "49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7",
"versionType": "git"
},
{
"lessThan": "9a063f96d87efc3a6cc667f8de096a3d38d74bb5",
"status": "affected",
"version": "49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"net/ipv6/ndisc.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.15"
},
{
"lessThan": "5.15",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.199",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.162",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.122",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.68",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.8",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.19",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.199",
"versionStartIncluding": "5.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.162",
"versionStartIncluding": "5.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.122",
"versionStartIncluding": "5.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.68",
"versionStartIncluding": "5.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.8",
"versionStartIncluding": "5.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.19",
"versionStartIncluding": "5.15",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nipv6: annotate data-race in ndisc_router_discovery()\n\nsyzbot found that ndisc_router_discovery() could read and write\nin6_dev-\u003era_mtu without holding a lock [1]\n\nThis looks fine, IFLA_INET6_RA_MTU is best effort.\n\nAdd READ_ONCE()/WRITE_ONCE() to document the race.\n\nNote that we might also reject illegal MTU values\n(mtu \u003c IPV6_MIN_MTU || mtu \u003e skb-\u003edev-\u003emtu) in a future patch.\n\n[1]\nBUG: KCSAN: data-race in ndisc_router_discovery / ndisc_router_discovery\n\nread to 0xffff888119809c20 of 4 bytes by task 25817 on cpu 1:\n ndisc_router_discovery+0x151d/0x1c90 net/ipv6/ndisc.c:1558\n ndisc_rcv+0x2ad/0x3d0 net/ipv6/ndisc.c:1841\n icmpv6_rcv+0xe5a/0x12f0 net/ipv6/icmp.c:989\n ip6_protocol_deliver_rcu+0xb2a/0x10d0 net/ipv6/ip6_input.c:438\n ip6_input_finish+0xf0/0x1d0 net/ipv6/ip6_input.c:489\n NF_HOOK include/linux/netfilter.h:318 [inline]\n ip6_input+0x5e/0x140 net/ipv6/ip6_input.c:500\n ip6_mc_input+0x27c/0x470 net/ipv6/ip6_input.c:590\n dst_input include/net/dst.h:474 [inline]\n ip6_rcv_finish+0x336/0x340 net/ipv6/ip6_input.c:79\n...\n\nwrite to 0xffff888119809c20 of 4 bytes by task 25816 on cpu 0:\n ndisc_router_discovery+0x155a/0x1c90 net/ipv6/ndisc.c:1559\n ndisc_rcv+0x2ad/0x3d0 net/ipv6/ndisc.c:1841\n icmpv6_rcv+0xe5a/0x12f0 net/ipv6/icmp.c:989\n ip6_protocol_deliver_rcu+0xb2a/0x10d0 net/ipv6/ip6_input.c:438\n ip6_input_finish+0xf0/0x1d0 net/ipv6/ip6_input.c:489\n NF_HOOK include/linux/netfilter.h:318 [inline]\n ip6_input+0x5e/0x140 net/ipv6/ip6_input.c:500\n ip6_mc_input+0x27c/0x470 net/ipv6/ip6_input.c:590\n dst_input include/net/dst.h:474 [inline]\n ip6_rcv_finish+0x336/0x340 net/ipv6/ip6_input.c:79\n...\n\nvalue changed: 0x00000000 -\u003e 0xe5400659"
}
],
"providerMetadata": {
"dateUpdated": "2026-02-14T15:09:54.043Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/4630897eb1a039b5d7b737b8dc9521d9d4b568b5"
},
{
"url": "https://git.kernel.org/stable/c/2619499169fb1c2ac4974b0f2d87767fb543582b"
},
{
"url": "https://git.kernel.org/stable/c/fad8f4ff7928f4d52a062ffdcffa484989c79c47"
},
{
"url": "https://git.kernel.org/stable/c/2a2b9d25f801afecf2f83cacce98afa8fd73e3c9"
},
{
"url": "https://git.kernel.org/stable/c/e3c1040252e598f7b4e33a42dc7c38519bc22428"
},
{
"url": "https://git.kernel.org/stable/c/9a063f96d87efc3a6cc667f8de096a3d38d74bb5"
}
],
"title": "ipv6: annotate data-race in ndisc_router_discovery()",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-23124",
"datePublished": "2026-02-14T15:09:54.043Z",
"dateReserved": "2026-01-13T15:37:45.970Z",
"dateUpdated": "2026-02-14T15:09:54.043Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2026-23124\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-02-14T15:16:07.633\",\"lastModified\":\"2026-02-14T15:16:07.633\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nipv6: annotate data-race in ndisc_router_discovery()\\n\\nsyzbot found that ndisc_router_discovery() could read and write\\nin6_dev-\u003era_mtu without holding a lock [1]\\n\\nThis looks fine, IFLA_INET6_RA_MTU is best effort.\\n\\nAdd READ_ONCE()/WRITE_ONCE() to document the race.\\n\\nNote that we might also reject illegal MTU values\\n(mtu \u003c IPV6_MIN_MTU || mtu \u003e skb-\u003edev-\u003emtu) in a future patch.\\n\\n[1]\\nBUG: KCSAN: data-race in ndisc_router_discovery / ndisc_router_discovery\\n\\nread to 0xffff888119809c20 of 4 bytes by task 25817 on cpu 1:\\n ndisc_router_discovery+0x151d/0x1c90 net/ipv6/ndisc.c:1558\\n ndisc_rcv+0x2ad/0x3d0 net/ipv6/ndisc.c:1841\\n icmpv6_rcv+0xe5a/0x12f0 net/ipv6/icmp.c:989\\n ip6_protocol_deliver_rcu+0xb2a/0x10d0 net/ipv6/ip6_input.c:438\\n ip6_input_finish+0xf0/0x1d0 net/ipv6/ip6_input.c:489\\n NF_HOOK include/linux/netfilter.h:318 [inline]\\n ip6_input+0x5e/0x140 net/ipv6/ip6_input.c:500\\n ip6_mc_input+0x27c/0x470 net/ipv6/ip6_input.c:590\\n dst_input include/net/dst.h:474 [inline]\\n ip6_rcv_finish+0x336/0x340 net/ipv6/ip6_input.c:79\\n...\\n\\nwrite to 0xffff888119809c20 of 4 bytes by task 25816 on cpu 0:\\n ndisc_router_discovery+0x155a/0x1c90 net/ipv6/ndisc.c:1559\\n ndisc_rcv+0x2ad/0x3d0 net/ipv6/ndisc.c:1841\\n icmpv6_rcv+0xe5a/0x12f0 net/ipv6/icmp.c:989\\n ip6_protocol_deliver_rcu+0xb2a/0x10d0 net/ipv6/ip6_input.c:438\\n ip6_input_finish+0xf0/0x1d0 net/ipv6/ip6_input.c:489\\n NF_HOOK include/linux/netfilter.h:318 [inline]\\n ip6_input+0x5e/0x140 net/ipv6/ip6_input.c:500\\n ip6_mc_input+0x27c/0x470 net/ipv6/ip6_input.c:590\\n dst_input include/net/dst.h:474 [inline]\\n ip6_rcv_finish+0x336/0x340 net/ipv6/ip6_input.c:79\\n...\\n\\nvalue changed: 0x00000000 -\u003e 0xe5400659\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/2619499169fb1c2ac4974b0f2d87767fb543582b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2a2b9d25f801afecf2f83cacce98afa8fd73e3c9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4630897eb1a039b5d7b737b8dc9521d9d4b568b5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/9a063f96d87efc3a6cc667f8de096a3d38d74bb5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e3c1040252e598f7b4e33a42dc7c38519bc22428\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/fad8f4ff7928f4d52a062ffdcffa484989c79c47\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
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.
Loading…
Loading…