Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix signededness bug in smb_direct_prepare_negotiation() smb_direct_prepare_negotiation() casts an unsigned __u32 value from sp->max_recv_size and req->preferred_send_size to a signed int before computing min_t(int, ...). A maliciously provided preferred_send_size of 0x80000000 will return as smaller than max_recv_size, and then be used to set the maximum allowed alowed receive size for the next message. By sending a second message with a large value (>1420 bytes) the attacker can then achieve a heap buffer overflow. This fix replaces min_t(int, ...) with min_t(u32)
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 0626e6641f6b467447c81dd7678a69c66f7746cf before 56eab82fa6fb5ca024b0514e249d40d9b23ee5a7; affected 0626e6641f6b467447c81dd7678a69c66f7746cf before a110dbe928561d440e9e117d17331139a0bedace; affected 0626e6641f6b467447c81dd7678a69c66f7746cf before ceae058eb707ddd0d68f0872f9d9f23b7c30c37b; affected 0626e6641f6b467447c81dd7678a69c66f7746cf before 55abc475d096da4a5356b6efb0cfdc6156bc1550; affected 0626e6641f6b467447c81dd7678a69c66f7746cf before 6b4f875aac344cdd52a1f34cc70ed2f874a65757 |
| Linux / Linux | affected 5.15; unaffected 0 before 5.15; unaffected 6.6.160 through 6.6.*; unaffected 6.12.114 through 6.12.*; unaffected 6.18.16 through 6.18.*; unaffected 6.19.6 through 6.19.*; unaffected 7.0 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/56eab82fa6fb5ca024b0514e249d40d9b23ee5a7
- https://git.kernel.org/stable/c/a110dbe928561d440e9e117d17331139a0bedace
- https://git.kernel.org/stable/c/ceae058eb707ddd0d68f0872f9d9f23b7c30c37b
- https://git.kernel.org/stable/c/55abc475d096da4a5356b6efb0cfdc6156bc1550
- https://git.kernel.org/stable/c/6b4f875aac344cdd52a1f34cc70ed2f874a65757