{"id":"CVE-2026-80845","revision":"8cd5bd6f959544a381f0f7892ba23b7c","records":[{"revision":"8cd5bd6f959544a381f0f7892ba23b7c","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-80845","aliases":[],"title":"xfrm: avoid lock inversion in nat keepalive work","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nxfrm: avoid lock inversion in nat keepalive work\n\nnat_keepalive_work() walks the state table while xfrm_state_walk()\nholds net->xfrm.xfrm_state_lock. Its callback then acquires x->lock,\nwhich conflicts with the delete path taking the same locks in reverse\norder via xfrm_state_delete() and __xfrm_state_delete(). This creates\nan AB-BA deadlock that is reported by lockdep when a NAT keepalive\nworker races with SA deletion.\n\nFix this by splitting the keepalive walk into two phases. First,\ncollect the candidate states while the walk holds xfrm_state_lock and\ntake a reference on each state. Then, after the walk completes, process\neach collected state and acquire x->lock without nesting it under\nxfrm_state_lock.","state":0,"publishedAt":"2026-09-04T15:54:55.489+00:00","modifiedAt":"2026-10-19T08:44:39.455+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                        \"net/xfrm/xfrm_nat_keepalive.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"f531d13bdfe3f4f084aaa8acae2cb0f02295f5ae\",\n                            \"lessThan\": \"ea09210462316e5235a25eccb11ad0708d86615e\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f531d13bdfe3f4f084aaa8acae2cb0f02295f5ae\",\n                            \"lessThan\": \"5c86c895d1cac81a71ead3005084c6265cf6a7a5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f531d13bdfe3f4f084aaa8acae2cb0f02295f5ae\",\n                            \"lessThan\": \"89ef3a2e1e4682ab82b0455ce113f8c39fb9e50d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f531d13bdfe3f4f084aaa8acae2cb0f02295f5ae\",\n                            \"lessThan\": \"a9fa05b7a1246797748d15771052639e0d3cabf1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f531d13bdfe3f4f084aaa8acae2cb0f02295f5ae\",\n                            \"lessThan\": \"763fe700b7c58ad64fe5202c5638848244dd4127\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\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                        \"net/xfrm/xfrm_nat_keepalive.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.11\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.11\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.108\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.49\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.1.13\",\n                            \"lessThanOrEqual\": \"7.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.3\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/ea09210462316e5235a25eccb11ad0708d86615e","https://git.kernel.org/stable/c/5c86c895d1cac81a71ead3005084c6265cf6a7a5","https://git.kernel.org/stable/c/89ef3a2e1e4682ab82b0455ce113f8c39fb9e50d","https://git.kernel.org/stable/c/a9fa05b7a1246797748d15771052639e0d3cabf1","https://git.kernel.org/stable/c/763fe700b7c58ad64fe5202c5638848244dd4127"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-80845","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-80845","identifiers":["CVE-2026-80845"]},"retained":false,"historicalAffected":[]}],"coverage":[]}