diff options
| author | Qihang <q.h.hack.winter@gmail.com> | 2026-05-17 16:25:27 +0800 |
|---|---|---|
| committer | Steve French <stfrench@microsoft.com> | 2026-06-14 15:12:23 -0500 |
| commit | 29f1005b8b4d3d3d8ac116d85f864a0b83bcf394 (patch) | |
| tree | 5cfb4bb05b5c9394767b9200d7318396a6786692 /drivers/phy/eswin/git@git.tavy.me:linux.git | |
| parent | ec457f9afe5ae9538bdcd58fd4cb442b9787e183 (diff) | |
cifs: validate full SID length in security descriptors
parse_sid() only verified that the fixed SID header fit in the
returned security descriptor, but did not verify that the full SID
body described by num_subauth was present.
A malicious server can return a truncated owner or group SID whose
header lies within the descriptor buffer while sub_auth[] extends
past the end of the allocation, leading to an out-of-bounds read
when the client later parses or copies that SID.
Validate the full SID body in parse_sid(), centralize owner/group SID
lookup and bounds checking in sid_from_sd(), and use that validation
in parse_sec_desc(), build_sec_desc(), and copy_sec_desc() before
sub_auth[] is accessed.
Signed-off-by: Qihang <q.h.hack.winter@gmail.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'drivers/phy/eswin/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions
