{"id":"CVE-2026-74656","revision":"4d28fa3116d8456faba76b4aae12943b","records":[{"revision":"4d28fa3116d8456faba76b4aae12943b","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-74656","aliases":[],"title":"ipv4: fix use-after-free in fib_nhc_update_mtu()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nipv4: fix use-after-free in fib_nhc_update_mtu()\n\nfib_nhc_update_mtu() walks the nexthop exception table under RTNL, but\nRTNL does not serialize this walk with PMTU exception updates. The walk\nuses rcu_dereference_protected() with a constant true condition without\nholding fnhe_lock.\n\nThe following interleaving can therefore occur:\n\n  CPU 0                              CPU 1\n  fib_nhc_update_mtu()               update_or_create_fnhe()\n    load fnhe                          spin_lock_bh(&fnhe_lock)\n                                       fnhe_remove_oldest()\n                                         unlink fnhe\n                                         kfree_rcu(fnhe, rcu)\n    <quiescent state>\n    access fnhe after grace period\n\nKASAN reported:\n\n  BUG: KASAN: slab-use-after-free in fib_nhc_update_mtu+0x3df/0x410\n  Read of size 8 at addr ffff888107d49000 by task poc/90\n  Call Trace:\n   fib_nhc_update_mtu+0x3df/0x410\n   fib_sync_mtu+0x7a/0xd0\n   fib_netdev_event+0x229/0x3f0\n   netif_set_mtu_ext+0x33a/0x570\n   dev_set_mtu+0x88/0x120\n\nThe same walk updates fnhe_pmtu and fnhe_mtu_locked. These fields form a\npair and other writers serialize them with fnhe_lock. RCU alone prevents\nreclamation, but would still allow concurrent writers to leave a mixed\npair.\n\nWalk the table under RCU and acquire fnhe_lock only while updating each\nexception. RCU keeps the current entry alive while the short critical\nsection serializes its paired PMTU fields. This avoids holding the global\nlock while scanning all 2048 buckets for every nexthop.","state":0,"publishedAt":"2026-08-22T15:32:30.729+00:00","modifiedAt":"2026-10-16T19:16:07.512+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"include/net/route.h\",\n                        \"net/ipv4/fib_semantics.c\",\n                        \"net/ipv4/route.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"af7d6cce53694a88d6a1bb60c9a239a6a5144459\",\n                            \"lessThan\": \"fd39e711866498ae94fcf9acf6f422a4f045b681\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"af7d6cce53694a88d6a1bb60c9a239a6a5144459\",\n                            \"lessThan\": \"e1e602d6b22d5cb1641c4459c487eb18bf569e0a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"af7d6cce53694a88d6a1bb60c9a239a6a5144459\",\n                            \"lessThan\": \"e00f7d2b5f2540a3415a229c982af7a25ff6362e\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"af7d6cce53694a88d6a1bb60c9a239a6a5144459\",\n                            \"lessThan\": \"dfe388da13aa784851e5ebbea90afbb099075761\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"af7d6cce53694a88d6a1bb60c9a239a6a5144459\",\n                            \"lessThan\": \"5a28a4b22dde92f9d293b94236314b8d6181dc4a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"af7d6cce53694a88d6a1bb60c9a239a6a5144459\",\n                            \"lessThan\": \"63996ffc594d128ccec8fc0983f91effd2d3adc4\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"af7d6cce53694a88d6a1bb60c9a239a6a5144459\",\n                            \"lessThan\": \"ed503eaad62f20cdd5122d7c3078a648a99c8f16\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"af7d6cce53694a88d6a1bb60c9a239a6a5144459\",\n                            \"lessThan\": \"bc5bde9ce3cc36502839dfe98e068f7303a50982\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b427832009b97a3ee412ef643a80b15372a7754d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"2b7e4c735933be79882aba2bed9afa789e03c62f\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"8d59c3a6376bbc6dd3f7303968a719ffba75a4f1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"9b4869cf385aa16f89c0f019eed4ec4e36aa441c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ff34695ced21e2dfa04d0fa1c5f6c35011fa8117\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3.16.62\",\n                            \"lessThan\": \"3.17\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"4.4.162\",\n                            \"lessThan\": \"4.5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"4.9.134\",\n                            \"lessThan\": \"4.10\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"4.14.77\",\n                            \"lessThan\": \"4.15\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"4.18.15\",\n                            \"lessThan\": \"4.19\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"include/net/route.h\",\n                        \"net/ipv4/fib_semantics.c\",\n                        \"net/ipv4/route.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4.19\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"4.19\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.265\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.216\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.183\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.152\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.104\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.45\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.1.9\",\n                            \"lessThanOrEqual\": \"7.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","score":7.8,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/fd39e711866498ae94fcf9acf6f422a4f045b681","https://git.kernel.org/stable/c/e1e602d6b22d5cb1641c4459c487eb18bf569e0a","https://git.kernel.org/stable/c/e00f7d2b5f2540a3415a229c982af7a25ff6362e","https://git.kernel.org/stable/c/dfe388da13aa784851e5ebbea90afbb099075761","https://git.kernel.org/stable/c/5a28a4b22dde92f9d293b94236314b8d6181dc4a","https://git.kernel.org/stable/c/63996ffc594d128ccec8fc0983f91effd2d3adc4","https://git.kernel.org/stable/c/ed503eaad62f20cdd5122d7c3078a648a99c8f16","https://git.kernel.org/stable/c/bc5bde9ce3cc36502839dfe98e068f7303a50982"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-74656","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-74656","identifiers":["CVE-2026-74656"]},"retained":false,"historicalAffected":[]}],"coverage":[]}