{"id":"CVE-2026-98388","revision":"527820aaf3fa44a495cab2511c150a5e","records":[{"revision":"527820aaf3fa44a495cab2511c150a5e","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-98388","aliases":[],"title":"exec: do_close_on_exec() before taking exec_update_lock","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nexec: do_close_on_exec() before taking exec_update_lock\n\ndo_close_on_exec() currently happens while holding the exec_update_lock,\nwhich is used in a lot of places that access process state to\nsynchronize access checks.\nI recently added another such use of exec_update_lock, causing a\nregression.\n\ndo_close_on_exec() can block waiting for a reply from a filesystem.\nThat means a hung filesystem can block codepaths that use\nexec_update_lock; and it also means that a FUSE filesystem which\nattempts to inspect the calling process can deadlock.\n\nTo avoid such problems, move do_close_on_exec() before the\nexec_update_lock is taken, but after the FD table has been copied if\nnecessary.\n\nI have looked through all the calls between the old and new position of\nthe do_close_on_exec() call; there seems to be no file descriptor table\naccess in between.","state":0,"publishedAt":"2026-10-14T13:25:52.117+00:00","modifiedAt":"2026-10-19T09:18:39.224+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                        \"fs/exec.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"ae1e630bcaac739f625822078edbaea98366930d\",\n                            \"lessThan\": \"955973fff4a36d39a848b00cac1706863f568fe1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"d54f14655fd7d7b293698a8b6918563c4c0465e7\",\n                            \"lessThan\": \"550feab5b01000ab314868b62211fb3ddfd600e8\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"bb43679356f1f2a4c6b1c88aec4f021e5b5c74e9\",\n                            \"lessThan\": \"5aacc19ba2b1faf84c4a2f2cf9a1784e03d1ff38\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"7456ae990a9738962b33146916fabca62ae3d4e0\",\n                            \"lessThan\": \"3feb4020bfb7ccf0d347f27051639d25e19cd65d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4bfe8c481846cee52473a2f7d7b30ee8e6749fc4\",\n                            \"lessThan\": \"0d86cd6b709c39216e6ee5ea8f0fc4242bbb2b53\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f9b4b03ccc9c69bf7f7298d4559906ebea7143b3\",\n                            \"lessThan\": \"19ddef61ee0a49782a60f8f497e50597ad5de2da\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6650527444dadc63d84aa939d14ecba4fadb2f69\",\n                            \"lessThan\": \"63be3d8511bdafa095cd14a393cbf3c58dbbb928\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6650527444dadc63d84aa939d14ecba4fadb2f69\",\n                            \"lessThan\": \"e780259b54e618ceb4763fbc21314acf3565e813\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"c1cfd63326f5d09999134e9052c353faf738286e\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"5.10.261\",\n                            \"lessThan\": \"5.10.271\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.212\",\n                            \"lessThan\": \"5.15.222\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.178\",\n                            \"lessThan\": \"6.1.189\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.145\",\n                            \"lessThan\": \"6.6.158\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.97\",\n                            \"lessThan\": \"6.12.111\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.40\",\n                            \"lessThan\": \"6.18.53\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.1.4\",\n                            \"lessThan\": \"7.2\",\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                        \"fs/exec.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"7.2\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"7.2\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.271\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.222\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.189\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.158\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.111\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.53\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.7\",\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/955973fff4a36d39a848b00cac1706863f568fe1","https://git.kernel.org/stable/c/550feab5b01000ab314868b62211fb3ddfd600e8","https://git.kernel.org/stable/c/5aacc19ba2b1faf84c4a2f2cf9a1784e03d1ff38","https://git.kernel.org/stable/c/3feb4020bfb7ccf0d347f27051639d25e19cd65d","https://git.kernel.org/stable/c/0d86cd6b709c39216e6ee5ea8f0fc4242bbb2b53","https://git.kernel.org/stable/c/19ddef61ee0a49782a60f8f497e50597ad5de2da","https://git.kernel.org/stable/c/63be3d8511bdafa095cd14a393cbf3c58dbbb928","https://git.kernel.org/stable/c/e780259b54e618ceb4763fbc21314acf3565e813"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98388","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-98388","identifiers":["CVE-2026-98388"]},"retained":false,"historicalAffected":[]}],"coverage":[]}