CVE-2026-23124
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
ipv6: annotate data-race in ndisc_router_discovery()
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
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 | affected | git | 4630897eb1a039b5d7b737b8dc9521d9d4b568b5 | Unavailable | None listed |
| 49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 | affected | git | 2619499169fb1c2ac4974b0f2d87767fb543582b | Unavailable | None listed |
| 49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 | affected | git | fad8f4ff7928f4d52a062ffdcffa484989c79c47 | Unavailable | None listed |
| 49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 | affected | git | 2a2b9d25f801afecf2f83cacce98afa8fd73e3c9 | Unavailable | None listed |
| 49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 | affected | git | e3c1040252e598f7b4e33a42dc7c38519bc22428 | Unavailable | None listed |
| 49b99da2c9ce13ffcd93fe3a0f5670791c1d76f7 | affected | git | 9a063f96d87efc3a6cc667f8de096a3d38d74bb5 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 5.15 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 5.15 | Unavailable | None listed |
| 5.15.199 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.162 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.122 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.68 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.8 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 6.19 | unaffected | original_commit_for_fix | Unavailable | * | None listed |