Description
In the Linux kernel, the following vulnerability has been resolved: hfsplus: Verify inode mode when loading from disk syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits "mode" field loaded from disk are corrupted. According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the "mode" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.
Product status
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 6f768724aabd5b321c5b8f15acdca11e4781cf32
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before d92333c7a35856e419500e7eed72dac1afa404a5
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 001f44982587ad462b3002ee40c75e8df67d597d
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 05ec9af3cc430683c97f76027e1c55ac6fd25c59
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before edfb2e602b5ba5ca6bf31cbac20b366efb72b156
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 91f114bffa36ce56d0e1f60a0a44fc09baaefc79
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 005d4b0d33f6b4a23d382b7930f7a96b95b01f39
2.6.12
Any version before 2.6.12
5.10.248 (semver)
5.15.198 (semver)
6.1.160 (semver)
6.6.120 (semver)
6.12.64 (semver)
6.18.3 (semver)
6.19 (original_commit_for_fix)
References
git.kernel.org/...c/6f768724aabd5b321c5b8f15acdca11e4781cf32
git.kernel.org/...c/d92333c7a35856e419500e7eed72dac1afa404a5
git.kernel.org/...c/001f44982587ad462b3002ee40c75e8df67d597d
git.kernel.org/...c/05ec9af3cc430683c97f76027e1c55ac6fd25c59
git.kernel.org/...c/edfb2e602b5ba5ca6bf31cbac20b366efb72b156
git.kernel.org/...c/91f114bffa36ce56d0e1f60a0a44fc09baaefc79
git.kernel.org/...c/005d4b0d33f6b4a23d382b7930f7a96b95b01f39