Description
In the Linux kernel, the following vulnerability has been resolved: smb: client: use finish_no_open() for non-regular inodes An O_CREAT open can find an existing symlink or another non-regular inode. cifs_atomic_open() calls finish_open() on it and attaches a cifsFileInfo. Symlink inodes have no CIFS release operation, so the dentry reference held by cifsFileInfo is leaked. FMODE_OPENED also prevents the VFS from following the symlink. Track whether cifs_do_create() returned an open server handle. For non-regular inodes, close the handle if present, remove the pending open, and call finish_no_open() so the VFS can continue the lookup. Do not set FMODE_CREATED unless a regular file was opened. For O_NOFOLLOW with __O_REGULAR, return -ELOOP before the VFS's -EFTYPE check. Defer closing a legacy POSIX handle on a non-regular inode until after inode lookup. This avoids closing it again if lookup fails.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d2c127197dfc0b2bae62a52e1e0d3e3ff493919e to < 045532f920d86dd76600b635f9756e5fd671ddfcaffectedd2c127197dfc0b2bae62a52e1e0d3e3ff493919e to < ed03d547598c92a036f20e89156540995cac889aaffectedd2c127197dfc0b2bae62a52e1e0d3e3ff493919e to < 70a7918fda54a06d836acc91eb9a3c7e860fe0a0affectedd2c127197dfc0b2bae62a52e1e0d3e3ff493919e to < 3c07deb26273155c180aedfd9041ab58015d2521affectedd2c127197dfc0b2bae62a52e1e0d3e3ff493919e to < e66cf1625ec4a3fe68346119f371def713fd0a4daffected
Linux Linux
Default version status: affected
3.6affected0 to < 3.6unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.56 to ≤ 6.18.*unaffected7.2.9 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/045532f920d86dd76600b635f9756e5fd671ddfc ↗
- https://git.kernel.org/stable/c/ed03d547598c92a036f20e89156540995cac889a ↗
- https://git.kernel.org/stable/c/70a7918fda54a06d836acc91eb9a3c7e860fe0a0 ↗
- https://git.kernel.org/stable/c/3c07deb26273155c180aedfd9041ab58015d2521 ↗
- https://git.kernel.org/stable/c/e66cf1625ec4a3fe68346119f371def713fd0a4d ↗