In the Linux kernel, the following vulnerability has been resolved: protect the fetch of ->fd[fd] in do_dup2() from mispredictions both callers have verified that fd is not greater than ->max_fds; however, misprediction might end up with tofree = fdt->fd[fd]; being speculatively executed. That’s wrong for the same reasons why it’s wrong in close_fd()/file_close_fd_locked(); the same solution applies - array_index_nospec(fd, fdt->max_fds) could differ from fd only in case of speculative execution on mispredicted path.
OS | Version | Architecture | Package | Version | Filename |
---|---|---|---|---|---|
Debian | 12 | all | linux | < 6.1.106-1 | linux_6.1.106-1_all.deb |
Debian | 11 | all | linux | <= 5.10.223-1 | linux_5.10.223-1_all.deb |
Debian | 999 | all | linux | < 6.10.4-1 | linux_6.10.4-1_all.deb |
Debian | 13 | all | linux | < 6.10.4-1 | linux_6.10.4-1_all.deb |