diff options
| author | Frank Sorenson <sorenson@redhat.com> | 2026-09-16 16:33:52 -0500 |
|---|---|---|
| committer | Paulo Alcantara <pc@manguebit.org> | 2026-09-17 15:03:27 -0300 |
| commit | 05762c5bc1cfdcac36747994fde2c04387a457f1 (patch) | |
| tree | ea934861ba0adbef380fdfe4b7cf6ca8c934f8bc /tools/perf/scripts/python/bin | |
| parent | d034e836eefd7ce75e588f7031cffbeec594f5ac (diff) | |
| download | linux-next-05762c5bc1cfdcac36747994fde2c04387a457f1.tar.gz linux-next-05762c5bc1cfdcac36747994fde2c04387a457f1.zip | |
smb: client: fix next_buffer UAF and NextCommand bounds in compound PDUs
Fix several related bounds checking and pointer lifecycle issues in
receive_encrypted_standard()'s handling of compound encrypted frames:
- Clear next_buffer after assigning it to server->bigbuf. A stale
next_buffer pointer can lead to a use-after-free on subsequent
error paths.
- Update pdu_length to the decrypted plaintext size (buf_size). Using
the pre-decryption length allows NextCommand to point into stale
ciphertext residue.
- Reject next_cmd values smaller than MID_HEADER_SIZE(server).
- Fix an integer overflow in the upper bound check by verifying
pdu_length - next_cmd < MID_HEADER_SIZE(server), ensuring the
trailing slice is large enough for a header.
Fixes: b24df3e30cbf ("cifs: update receive_encrypted_standard to handle compounded responses")
Cc: stable@vger.kernel.org
Signed-off-by: Frank Sorenson <sorenson@redhat.com>
Reviewed-by: David Howells <dhowells@redhat.com>
Signed-off-by: Paulo Alcantara <pc@manguebit.org>
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions
