Linux: smb: client: split cifsFileInfo bitfields to avoid shared-byte RMW races
What fixes it
- 3b8e7928cf1928555dc05d172dd02fb0e7692ec4LinuxCVE List
- 3786ee67658a2c80fef2544e7de2cd329e043cf9LinuxCVE List
- 4165641d06ef44f3a31b77a28048b6c737e885e7LinuxCVE List
- 19465a9aeb664f1d710d0d22c07c31bfb7c85446LinuxCVE List
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:
smb: client: split cifsFileInfo bitfields to avoid shared-byte RMW races
The invalidHandle, swapfile, oplock_break_cancelled, offload, and status_file_deleted fields are stored in the same bitfield byte in struct cifsFileInfo, but are updated in different code paths that may run simultaneously, and are protected by different locks. Since bitfield assignments generate byte-level read-modify-write operations, a modification to one flag can overwrite a concurrent modification to another flag.
To avoid these races, convert these flags from a bitfield to separate bool fields.
Text from CVE List
Affected versions 12
- Linuxaffected: 3bc303c254335dbd7c7012cc1760b12f1d5514d3 before 3b8e7928cf1928555dc05d172dd02fb0e7692ec4CVE List
- Linuxaffected: 3bc303c254335dbd7c7012cc1760b12f1d5514d3 before 3786ee67658a2c80fef2544e7de2cd329e043cf9CVE List
- Linuxaffected: 3bc303c254335dbd7c7012cc1760b12f1d5514d3 before 4165641d06ef44f3a31b77a28048b6c737e885e7CVE List
- Linuxaffected: 3bc303c254335dbd7c7012cc1760b12f1d5514d3 before d9d23d115610e0342e768f6cb525d91c7b154027CVE List
- Linuxaffected: 3bc303c254335dbd7c7012cc1760b12f1d5514d3 before 19465a9aeb664f1d710d0d22c07c31bfb7c85446CVE List
- Linuxaffected: 2.6.32CVE List
- Linuxunaffected: all versions before 2.6.32CVE List
- Linuxunaffected: 6.6.160 through 6.6.*CVE List
- Linuxunaffected: 6.12.113 through 6.12.*CVE List
- Linuxunaffected: 6.18.56 through 6.18.*CVE List
- Linuxunaffected: 7.2.10 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 5
- git.kernel.org/stable/c/3b8e7928cf1928555dc05d172dd02fb0e7692ec4Referencevia CVE List
- git.kernel.org/stable/c/3786ee67658a2c80fef2544e7de2cd329e043cf9Referencevia CVE List
- git.kernel.org/stable/c/4165641d06ef44f3a31b77a28048b6c737e885e7Referencevia CVE List
- git.kernel.org/stable/c/d9d23d115610e0342e768f6cb525d91c7b154027Referencevia CVE List
- git.kernel.org/stable/c/19465a9aeb664f1d710d0d22c07c31bfb7c85446Referencevia CVE List