CVE-2026-99074
CVE-2026-99074 · ipv4: stop PMTU walk when nexthop group shrinks
This page contains facts from public vulnerability sources. Check the original advisory before updating.
This page shows selected source facts. See the linked advisories for the complete description and affected versions.
In the Linux kernel, the following vulnerability has been resolved: ipv4: stop PMTU walk when nexthop group shrinks Commit 7d3f3b4367f3 ("net: ipv4: Cache pmtu for all packet paths if multipath enabled") made __ip_rt_update_pmtu() update every path. For nexthop objects, fib_info_num_path() and fib_info_nhc() independently load nh->nh_grp. RCU protects each group's lifetime but does not make the loads observe the same group. If replacement shrinks the group after the loop accepts an index, fib_info_nhc() returns NULL and update_or_create_fnhe() dereferences it. A deterministic probe only widened the existing window between the real operations. On v7.2, an RTM_NEWNEXTHOP replacement published a one-member group after the PMTU reader accepted index 1 from a two-member group, producing: KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] RIP: update_or_create_fnhe+0x45/0x15b0 Stop when the indexed path is absent. Groups are dense, so no later index exists in that snapshot. The same real-writer window completed 114,423 PMTU iterations without an oops with this check. A reproducer is available on request. Replacement requires CAP_NET_ADMIN in the network namespace. Where unprivileged user namespaces are permitted, a local user can obtain it in a new user and network namespace.
Fix available
- Published
- Updated
Stack: system
Affected products and versions
linux
- Versions
- ≥ 3bed2abab4a682d426624ce9add9d7b6d475d4e4, < 7fd60d3c9a1e1b11ef5f1643bbae78d91eae2f4a: Affected (git)
- ≥ 7f5005457b3072fe1ddf15bfef869f2a1d98e05e, < c60d17d6dd61adc761ac6f65a008fefbc54cbf87: Affected (git)
- ≥ 7d3f3b4367f315a61fc615e3138f3d320da8c466, < c6d670ac656badfd0e15355e07a13a6bdf3b69fd: Affected (git)
- ≥ 7d3f3b4367f315a61fc615e3138f3d320da8c466, < f27483f9975b5065ff67054cc7eb8edac6083488: Affected (git)
- ≥ 7d3f3b4367f315a61fc615e3138f3d320da8c466, < 6619e01855e65ef35723685a557e3eb106f4ecf5: Affected (git)
- fc07a232326a623d0be482e307c08ea7049c2846: Affected (git)
- b1f7bdee5750d6cbb9497140cd6582abc5fdcb9e: Affected (git)
- ≥ 6.6.79, < 6.6.160: Affected (semver)
- ≥ 6.12.16, < 6.12.113: Affected (semver)
- ≥ 5.15.179, < 5.16: Affected (semver)
- ≥ 6.1.129, < 6.2: Affected (semver)
Update to 7fd60d3c9a1e1b11ef5f1643bbae78d91eae2f4a
linux
- Versions
- 6.13: Affected
- ≥ 0, < 6.13: Not affected (semver)
- ≥ 6.6.160, ≤ 6.6.*: Not affected (semver)
- ≥ 6.12.113, ≤ 6.12.*: Not affected (semver)
- ≥ 6.18.57, ≤ 6.18.*: Not affected (semver)
- ≥ 7.2.11, ≤ 7.2.*: Not affected (semver)
- ≥ 7.3: Not affected (original_commit_for_fix)
No fix published
linux Debian:12
- Versions
- 6.1.106-1
- 6.1.106-2
- 6.1.106-3
- 6.1.112-1
- 6.1.115-1
- 6.1.119-1
- 6.1.123-1
- 6.1.124-1
- 6.1.128-1
- 6.1.129-1
- 6.1.133-1
- 6.1.135-1
- 6.1.137-1
- 6.1.139-1
- 6.1.140-1
- 6.1.147-1
- 6.1.148-1
- 6.1.153-1
- 6.1.158-1
- 6.1.159-1
- 6.1.162-1
- 6.1.164-1
- 6.1.170-1
- 6.1.170-2
- 6.1.170-3
- 6.1.172-1
- 6.1.174-1
- 6.1.176-1
- 6.1.177-1
- 6.1.180-1
- 6.1.187-1
- 6.1.190-1
- 6.1.27-1
- 6.1.37-1
- 6.1.38-1
- 6.1.38-2
- 6.1.38-2~bpo11+1
- 6.1.38-3
- 6.1.38-4
- 6.1.38-4~bpo11+1
- 6.1.52-1
- 6.1.55-1
- 6.1.55-1~bpo11+1
- 6.1.64-1
- 6.1.66-1
- 6.1.67-1
- 6.1.69-1
- 6.1.69-1~bpo11+1
- 6.1.76-1
- 6.1.76-1~bpo11+1
- 6.1.82-1
- 6.1.85-1
- 6.1.90-1
- 6.1.90-1~bpo11+1
- 6.1.94-1
- 6.1.94-1~bpo11+1
- 6.1.98-1
- 6.1.99-1
- 6.10-1~exp1
- 6.10.1-1~exp1
- 6.10.11-1
- 6.10.11-1~bpo12+1
- 6.10.12-1
- 6.10.3-1
- 6.10.4-1
- 6.10.6-1
- 6.10.6-1~bpo12+1
- 6.10.7-1
- 6.10.9-1
- 6.11-1~exp1
- 6.11.10-1
- 6.11.10-1~bpo12+1
- 6.11.2-1
- 6.11.4-1
- 6.11.5-1
- 6.11.5-1~bpo12+1
- 6.11.6-1
- 6.11.7-1
- 6.11.9-1
- 6.11~rc4-1~exp1
- 6.11~rc5-1~exp1
- 6.12.10-1
- 6.12.100-1
- 6.12.101-1
- 6.12.105-1
- 6.12.107-1
- 6.12.11-1
- 6.12.11-1+alpha
- 6.12.11-1+alpha.1
- 6.12.111-1
- 6.12.113-1
- 6.12.12-1
- 6.12.12-1~bpo12+1
- 6.12.13-1
- 6.12.15-1
- 6.12.16-1
- 6.12.17-1
- 6.12.19-1
- 6.12.20-1
- 6.12.21-1
- 6.12.22-1
- 6.12.22-1~bpo12+1
- 6.12.25-1
- 6.12.27-1
- 6.12.27-1~bpo12+1
- 6.12.29-1
- 6.12.3-1
- 6.12.30-1
- 6.12.30-1~bpo12+1
- 6.12.31-1
- 6.12.32-1
- 6.12.32-1~bpo12+1
- 6.12.33-1
- 6.12.33-1~bpo12+1
- 6.12.35-1
- 6.12.35-1~bpo12+1
- 6.12.37-1
- 6.12.38-1
- 6.12.38-1~bpo12+1
- 6.12.41-1
- 6.12.43-1
- 6.12.43-1~bpo12+1
- 6.12.48-1
- 6.12.5-1
- 6.12.57-1
- 6.12.57-1~bpo12+1
- 6.12.6-1
- 6.12.63-1
- 6.12.63-1~bpo12+1
- 6.12.69-1
- 6.12.69-1~bpo12+1
- 6.12.73-1
- 6.12.73-1~bpo12+1
- 6.12.74-1
- 6.12.74-2
- 6.12.74-2~bpo12+1
- 6.12.8-1
- 6.12.85-1
- 6.12.85-1~bpo12+1
- 6.12.86-1
- 6.12.86-1~bpo12+1
- 6.12.88-1
- 6.12.88-1~bpo12+1
- 6.12.9-1
- 6.12.9-1+alpha
- 6.12.9-1~bpo12+1
- 6.12.90-1
- 6.12.90-1~bpo12+1
- 6.12.90-2
- 6.12.90-2~bpo12+1
- 6.12.94-1
- 6.12.94-1~bpo12+1
- 6.12.95-1
- 6.12.95-1~bpo12+1
- 6.12.96-1
- 6.12~rc6-1~exp1
- 6.13.10-1~exp1
- 6.13.11-1~exp1
- 6.13.2-1~exp1
- 6.13.3-1~exp1
- 6.13.4-1~exp1
- 6.13.5-1~exp1
- 6.13.6-1~exp1
- 6.13.7-1~exp1
- 6.13.8-1~exp1
- 6.13.9-1~exp1
- 6.13~rc6-1~exp1
- 6.13~rc7-1~exp1
- 6.14.3-1~exp1
- 6.14.5-1~exp1
- 6.14.6-1~exp1
- 6.15-1~exp1
- 6.15.1-1~exp1
- 6.15.2-1~exp1
- 6.15.3-1~exp1
- 6.15.4-1~exp1
- 6.15.5-1~exp1
- 6.15.6-1~exp1
- 6.15~rc7-1~exp1
- 6.16-1~exp1
- 6.16.1-1~exp1
- 6.16.10-1
- 6.16.11-1
- 6.16.12-1
- 6.16.12-1~bpo13+1
- 6.16.12-2
- 6.16.3-1
- 6.16.3-1~bpo13+1
- 6.16.5-1
- 6.16.6-1
- 6.16.7-1
- 6.16.8-1
- 6.16.9-1
- 6.16~rc7-1~exp1
- 6.17.10-1
- 6.17.11-1
- 6.17.12-1
- 6.17.13-1
- 6.17.13-1~bpo13+1
- 6.17.2-1~exp1
- 6.17.5-1~exp1
- 6.17.6-1
- 6.17.7-1
- 6.17.7-2
- 6.17.8-1
- 6.17.8-1~bpo13+1
- 6.17.9-1
- 6.18.1-1~exp1
- 6.18.10-1
- 6.18.12-1
- 6.18.12-1~bpo13+1
- 6.18.13-1
- 6.18.14-1
- 6.18.15-1
- 6.18.15-1~bpo13+1
- 6.18.2-1~exp1
- 6.18.3-1
- 6.18.5-1
- 6.18.5-1~bpo13+1
- 6.18.8-1
- 6.18.9-1
- 6.18.9-1~bpo13+1
- 6.18~rc4-1~exp1
- 6.18~rc4-1~exp2
- 6.18~rc5-1~exp1
- 6.18~rc6-1~exp1
- 6.18~rc7-1~exp1
- 6.19-1~exp1
- 6.19.10-1
- 6.19.10-1~bpo13+1
- 6.19.11-1
- 6.19.11-1~bpo13+1
- 6.19.12-1
- 6.19.13-1
- 6.19.13-1~bpo13+1
- 6.19.14-1
- 6.19.14-1~bpo13+1
- 6.19.2-1~exp1
- 6.19.3-1~exp1
- 6.19.4-1~exp1
- 6.19.5-1~exp1
- 6.19.6-1
- 6.19.6-2
- 6.19.6-2~bpo13+1
- 6.19.8-1
- 6.19.8-1~bpo13+1
- 6.19~rc4-1~exp1
- 6.19~rc5-1~exp1
- 6.19~rc6-1~exp1
- 6.19~rc7-1~exp1
- 6.19~rc8-1~exp1
- 6.3.1-1~exp1
- 6.3.11-1
- 6.3.2-1~exp1
- 6.3.4-1~exp1
- 6.3.5-1~exp1
- 6.3.7-1
- 6.3.7-1~bpo12+1
- 6.4.1-1~exp1
- 6.4.11-1
- 6.4.13-1
- 6.4.4-1
- 6.4.4-1~bpo12+1
- 6.4.4-2
- 6.4.4-3
- 6.4.4-3~bpo12+1
- 6.4~rc6-1~exp1
- 6.4~rc7-1~exp1
- 6.5.1-1~exp1
- 6.5.10-1
- 6.5.10-1~bpo12+1
- 6.5.13-1
- 6.5.3-1
- 6.5.3-1~bpo12+1
- 6.5.6-1
- 6.5.8-1
- 6.5~rc4-1~exp1
- 6.5~rc6-1~exp1
- 6.5~rc7-1~exp1
- 6.6.11-1
- 6.6.13-1
- 6.6.13-1~bpo12+1
- 6.6.15-1
- 6.6.15-2
- 6.6.3-1~exp1
- 6.6.4-1~exp1
- 6.6.7-1~exp1
- 6.6.8-1
- 6.6.9-1
- 6.7-1~exp1
- 6.7.1-1~exp1
- 6.7.12-1
- 6.7.12-1~bpo12+1
- 6.7.4-1~exp1
- 6.7.7-1
- 6.7.9-1
- 6.7.9-2
- 6.8.11-1
- 6.8.12-1
- 6.8.12-1~bpo12+1
- 6.8.9-1
- 6.9.10-1
- 6.9.10-1~bpo12+1
- 6.9.11-1
- 6.9.12-1
- 6.9.2-1~exp1
- 6.9.7-1
- 6.9.7-1~bpo12+1
- 6.9.8-1
- 6.9.9-1
- 7.0-1~exp1
- 7.0.1-1~exp1
- 7.0.10-1
No fix published
linux Debian:13
- Versions
- 6.12.100-1
- 6.12.101-1
- 6.12.105-1
- 6.12.107-1
- 6.12.111-1
- 6.12.38-1
- 6.12.41-1
- 6.12.43-1
- 6.12.43-1~bpo12+1
- 6.12.48-1
- 6.12.57-1
- 6.12.57-1~bpo12+1
- 6.12.63-1
- 6.12.63-1~bpo12+1
- 6.12.69-1
- 6.12.69-1~bpo12+1
- 6.12.73-1
- 6.12.73-1~bpo12+1
- 6.12.74-1
- 6.12.74-2
- 6.12.74-2~bpo12+1
- 6.12.85-1
- 6.12.85-1~bpo12+1
- 6.12.86-1
- 6.12.86-1~bpo12+1
- 6.12.88-1
- 6.12.88-1~bpo12+1
- 6.12.90-1
- 6.12.90-1~bpo12+1
- 6.12.90-2
- 6.12.90-2~bpo12+1
- 6.12.94-1
- 6.12.94-1~bpo12+1
- 6.12.95-1
- 6.12.95-1~bpo12+1
- 6.12.96-1
- Affected ranges
- ECOSYSTEM: < 6.12.113-1
Update to 6.12.113-1
linux Debian:14
- Versions
- 6.12.100-1
- 6.12.101-1
- 6.12.105-1
- 6.12.107-1
- 6.12.111-1
- 6.12.113-1
- 6.12.38-1
- 6.12.41-1
- 6.12.43-1
- 6.12.43-1~bpo12+1
- 6.12.48-1
- 6.12.57-1
- 6.12.57-1~bpo12+1
- 6.12.63-1
- 6.12.63-1~bpo12+1
- 6.12.69-1
- 6.12.69-1~bpo12+1
- 6.12.73-1
- 6.12.73-1~bpo12+1
- 6.12.74-1
- 6.12.74-2
- 6.12.74-2~bpo12+1
- 6.12.85-1
- 6.12.85-1~bpo12+1
- 6.12.86-1
- 6.12.86-1~bpo12+1
- 6.12.88-1
- 6.12.88-1~bpo12+1
- 6.12.90-1
- 6.12.90-1~bpo12+1
- 6.12.90-2
- 6.12.90-2~bpo12+1
- 6.12.94-1
- 6.12.94-1~bpo12+1
- 6.12.95-1
- 6.12.95-1~bpo12+1
- 6.12.96-1
- 6.13.10-1~exp1
- 6.13.11-1~exp1
- 6.13.2-1~exp1
- 6.13.3-1~exp1
- 6.13.4-1~exp1
- 6.13.5-1~exp1
- 6.13.6-1~exp1
- 6.13.7-1~exp1
- 6.13.8-1~exp1
- 6.13.9-1~exp1
- 6.13~rc6-1~exp1
- 6.13~rc7-1~exp1
- 6.14.3-1~exp1
- 6.14.5-1~exp1
- 6.14.6-1~exp1
- 6.15-1~exp1
- 6.15.1-1~exp1
- 6.15.2-1~exp1
- 6.15.3-1~exp1
- 6.15.4-1~exp1
- 6.15.5-1~exp1
- 6.15.6-1~exp1
- 6.15~rc7-1~exp1
- 6.16-1~exp1
- 6.16.1-1~exp1
- 6.16.10-1
- 6.16.11-1
- 6.16.12-1
- 6.16.12-1~bpo13+1
- 6.16.12-2
- 6.16.3-1
- 6.16.3-1~bpo13+1
- 6.16.5-1
- 6.16.6-1
- 6.16.7-1
- 6.16.8-1
- 6.16.9-1
- 6.16~rc7-1~exp1
- 6.17.10-1
- 6.17.11-1
- 6.17.12-1
- 6.17.13-1
- 6.17.13-1~bpo13+1
- 6.17.2-1~exp1
- 6.17.5-1~exp1
- 6.17.6-1
- 6.17.7-1
- 6.17.7-2
- 6.17.8-1
- 6.17.8-1~bpo13+1
- 6.17.9-1
- 6.18.1-1~exp1
- 6.18.10-1
- 6.18.12-1
- 6.18.12-1~bpo13+1
- 6.18.13-1
- 6.18.14-1
- 6.18.15-1
- 6.18.15-1~bpo13+1
- 6.18.2-1~exp1
- 6.18.3-1
- 6.18.5-1
- 6.18.5-1~bpo13+1
- 6.18.8-1
- 6.18.9-1
- 6.18.9-1~bpo13+1
- 6.18~rc4-1~exp1
- 6.18~rc4-1~exp2
- 6.18~rc5-1~exp1
- 6.18~rc6-1~exp1
- 6.18~rc7-1~exp1
- 6.19-1~exp1
- 6.19.10-1
- 6.19.10-1~bpo13+1
- 6.19.11-1
- 6.19.11-1~bpo13+1
- 6.19.12-1
- 6.19.13-1
- 6.19.13-1~bpo13+1
- 6.19.14-1
- 6.19.14-1~bpo13+1
- 6.19.2-1~exp1
- 6.19.3-1~exp1
- 6.19.4-1~exp1
- 6.19.5-1~exp1
- 6.19.6-1
- 6.19.6-2
- 6.19.6-2~bpo13+1
- 6.19.8-1
- 6.19.8-1~bpo13+1
- 6.19~rc4-1~exp1
- 6.19~rc5-1~exp1
- 6.19~rc6-1~exp1
- 6.19~rc7-1~exp1
- 6.19~rc8-1~exp1
- 7.0-1~exp1
- 7.0.1-1~exp1
- 7.0.10-1
- 7.0.10-1~bpo13+1
- 7.0.12-1
- 7.0.12-2
- 7.0.12-2~bpo13+1
- 7.0.13-1
- 7.0.13-1~bpo13+1
- 7.0.14-1
- 7.0.3-1
- 7.0.4-1
- 7.0.4-1~bpo13+1
- 7.0.7-1
- 7.0.7-1~bpo13+1
- 7.0.9-1
- 7.0.9-1~bpo13+1
- 7.1.1-1~exp1
- 7.1.10-1
- 7.1.12-1
- 7.1.13-1
- 7.1.13-1~bpo13+1
- 7.1.2-1~exp1
- 7.1.3-1
- 7.1.3-1+sunvdc
- 7.1.3-1~bpo13+1
- 7.1.4-1
- 7.1.5-1
- 7.1.6-1
- 7.1.7-1
- 7.1.7-1~bpo13+1
- 7.1.8-1
- 7.1.8-1~bpo13+1
- 7.1.8-2
- 7.1.9-1
- 7.1.9-1+sparc64
- 7.1~rc2-1~exp1
- 7.1~rc3-1~exp1
- 7.1~rc4-1~exp1
- 7.1~rc4-1~exp2
- 7.1~rc5-1~exp1
- 7.1~rc7-1~exp1
- 7.2.10-1
- 7.2.2-1~exp1
- 7.2.3-1~exp1
- 7.2.6-1
- 7.2.6-1~bpo13+1
- 7.2.7-1
- 7.2.8-1
- 7.2.9-1
- 7.2.9-1~bpo13+1
- 7.2~rc3-1~exp1
- 7.2~rc5-1~exp1
- 7.2~rc7-1~exp1
- Affected ranges
- ECOSYSTEM: < 7.2.11-1
Update to 7.2.11-1
Original sources
- https://git.kernel.org/stable/c/7fd60d3c9a1e1b11ef5f1643bbae78d91eae2f4a
- https://git.kernel.org/stable/c/c60d17d6dd61adc761ac6f65a008fefbc54cbf87
- https://git.kernel.org/stable/c/c6d670ac656badfd0e15355e07a13a6bdf3b69fd
- https://git.kernel.org/stable/c/f27483f9975b5065ff67054cc7eb8edac6083488
- https://git.kernel.org/stable/c/6619e01855e65ef35723685a557e3eb106f4ecf5
- https://nvd.nist.gov/vuln/detail/CVE-2026-99074