All vulnerabilities
CVE-2026-98388

Linux: exec: do_close_on_exec() before taking exec_update_lock

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.22%Chance of exploitation activity in the next 30 days, higher than 11% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in955973fff4a36d39a848b00cac1706863f568fe1Also 550feab5b01000ab314868b62211fb3ddfd600e8, 5aacc19ba2b1faf84c4a2f2cf9a1784e03d1ff38 and 11 moreCVE List
Published14 Oct 2026Updated 19 Oct 2026CVE List

What fixes it

  • 955973fff4a36d39a848b00cac1706863f568fe1LinuxCVE List
  • 550feab5b01000ab314868b62211fb3ddfd600e8LinuxCVE List
  • 5aacc19ba2b1faf84c4a2f2cf9a1784e03d1ff38LinuxCVE List
  • 3feb4020bfb7ccf0d347f27051639d25e19cd65dLinuxCVE List
  • 0d86cd6b709c39216e6ee5ea8f0fc4242bbb2b53LinuxCVE List
  • 19ddef61ee0a49782a60f8f497e50597ad5de2daLinuxCVE List
Show all 14 fixed versions

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

In the Linux kernel, the following vulnerability has been resolved:

exec: do_close_on_exec() before taking exec_update_lock

do_close_on_exec() currently happens while holding the exec_update_lock, which is used in a lot of places that access process state to synchronize access checks. I recently added another such use of exec_update_lock, causing a regression.

do_close_on_exec() can block waiting for a reply from a filesystem. That means a hung filesystem can block codepaths that use exec_update_lock; and it also means that a FUSE filesystem which attempts to inspect the calling process can deadlock.

To avoid such problems, move do_close_on_exec() before the exec_update_lock is taken, but after the FD table has been copied if necessary.

I have looked through all the calls between the old and new position of the do_close_on_exec() call; there seems to be no file descriptor table access in between.

Text from CVE List

Affected versions 26

  • Linuxaffected: ae1e630bcaac739f625822078edbaea98366930d before 955973fff4a36d39a848b00cac1706863f568fe1CVE List
  • Linuxaffected: d54f14655fd7d7b293698a8b6918563c4c0465e7 before 550feab5b01000ab314868b62211fb3ddfd600e8CVE List
  • Linuxaffected: bb43679356f1f2a4c6b1c88aec4f021e5b5c74e9 before 5aacc19ba2b1faf84c4a2f2cf9a1784e03d1ff38CVE List
  • Linuxaffected: 7456ae990a9738962b33146916fabca62ae3d4e0 before 3feb4020bfb7ccf0d347f27051639d25e19cd65dCVE List
  • Linuxaffected: 4bfe8c481846cee52473a2f7d7b30ee8e6749fc4 before 0d86cd6b709c39216e6ee5ea8f0fc4242bbb2b53CVE List
  • Linuxaffected: f9b4b03ccc9c69bf7f7298d4559906ebea7143b3 before 19ddef61ee0a49782a60f8f497e50597ad5de2daCVE List
  • Linuxaffected: 6650527444dadc63d84aa939d14ecba4fadb2f69 before 63be3d8511bdafa095cd14a393cbf3c58dbbb928CVE List
  • Linuxaffected: 6650527444dadc63d84aa939d14ecba4fadb2f69 before e780259b54e618ceb4763fbc21314acf3565e813CVE List
  • Linuxaffected: c1cfd63326f5d09999134e9052c353faf738286eCVE List
  • Linuxaffected: 5.10.261 before 5.10.271CVE List
  • Linuxaffected: 5.15.212 before 5.15.222CVE List
  • Linuxaffected: 6.1.178 before 6.1.189CVE List
  • Linuxaffected: 6.6.145 before 6.6.158CVE List
  • Linuxaffected: 6.12.97 before 6.12.111CVE List
  • Linuxaffected: 6.18.40 before 6.18.53CVE List
  • Linuxaffected: 7.1.4 before 7.2CVE List
  • Linuxaffected: 7.2CVE List
  • Linuxunaffected: all versions before 7.2CVE List
  • Linuxunaffected: 5.10.271 through 5.10.*CVE List
  • Linuxunaffected: 5.15.222 through 5.15.*CVE List
  • Linuxunaffected: 6.1.189 through 6.1.*CVE List
  • Linuxunaffected: 6.6.158 through 6.6.*CVE List
  • Linuxunaffected: 6.12.111 through 6.12.*CVE List
  • Linuxunaffected: 6.18.53 through 6.18.*CVE List
  • Linuxunaffected: 7.2.7 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 8