Description
In the Linux kernel, the following vulnerability has been resolved: ksmbd: require 3 sub-authorities before reading sub_auth[2] parse_dacl() compares each ACE SID against sid_unix_NFS_mode and on match reads sid.sub_auth[2] as the file mode. If sid_unix_NFS_mode is the prefix S-1-5-88-3 with num_subauth = 2 then compare_sids() compares only min(num_subauth, 2) sub-authorities so a client SID with num_subauth = 2 and sub_auth = {88, 3} will match. If num_subauth = 2 and the ACE is placed at the very end of the security descriptor, sub_auth[2] will be 4 bytes past end_of_acl. The out-of-band bytes will then be masked to the low 9 bits and applied as the file's POSIX mode, probably not something that is good to have happen. Fix this up by forcing the SID to actually carry a third sub-authority before reading it at all.
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
e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < cf2148b880fb7c0fcd727202dbc4fd5d6998b9c2affectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < b5b5d5936a50497fb151c0b122899a6894721c2baffectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < 08f9e6d899b5c834bbcc239eae1bed58d9b15d2caffectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < d2454f4a002d08560a60f214f392e6491cf11560affectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < 46bbcd3ebfb3549c8da1838fc4493e79bd3241e7affectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < 9401f86a224f37b50e6a3ccf1d46a70d5ef8af0aaffectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < 53370cf9090777774e07fd9a8ebce67c6cc333abaffected
Linux Linux
Default version status: affected
5.15affected0 to < 5.15unaffected6.1.175 to ≤ 6.1.*unaffected6.6.136 to ≤ 6.6.*unaffected6.12.83 to ≤ 6.12.*unaffected6.18.24 to ≤ 6.18.*unaffected6.19.14 to ≤ 6.19.*unaffected7.0.1 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/cf2148b880fb7c0fcd727202dbc4fd5d6998b9c2 ↗
- https://git.kernel.org/stable/c/b5b5d5936a50497fb151c0b122899a6894721c2b ↗
- https://git.kernel.org/stable/c/08f9e6d899b5c834bbcc239eae1bed58d9b15d2c ↗
- https://git.kernel.org/stable/c/d2454f4a002d08560a60f214f392e6491cf11560 ↗
- https://git.kernel.org/stable/c/46bbcd3ebfb3549c8da1838fc4493e79bd3241e7 ↗
- https://git.kernel.org/stable/c/9401f86a224f37b50e6a3ccf1d46a70d5ef8af0a ↗
- https://git.kernel.org/stable/c/53370cf9090777774e07fd9a8ebce67c6cc333ab ↗
- https://cert-portal.siemens.com/productcert/html/ssa-784472.html ↗