CVE-2023-53597

Summary

In the Linux kernel, the following vulnerability has been resolved:

cifs: fix mid leak during reconnection after timeout threshold

When the number of responses with status of STATUS_IO_TIMEOUT exceeds a specified threshold (NUM_STATUS_IO_TIMEOUT), we reconnect the connection. But we do not return the mid, or the credits returned for the mid, or reduce the number of in-flight requests.

This bug could result in the server->in_flight count to go bad, and also cause a leak in the mids.

This change moves the check to a few lines below where the response is decrypted, even of the response is read from the transform header. This way, the code for returning the mids can be reused.

Also, the cifs_reconnect was reconnecting just the transport connection before. In case of multi-channel, this may not be what we want to do after several timeouts. Changed that to reconnect the session and the tree too.

Also renamed NUM_STATUS_IO_TIMEOUT to a more appropriate name MAX_STATUS_IO_TIMEOUT.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux8e670f77c4a55013db6d23b962f9bf6673a5e7b6 < df31d05f0678cdd0796ea19983a2b93edca18bb0affected
LinuxLinux8e670f77c4a55013db6d23b962f9bf6673a5e7b6 < c55901d381a22300c9922170e59704059f50977baffected
LinuxLinux8e670f77c4a55013db6d23b962f9bf6673a5e7b6 < 57d25e9905c71133e201f6d06b56a3403d4ad433affected
LinuxLinux8e670f77c4a55013db6d23b962f9bf6673a5e7b6 < 69cba9d3c1284e0838ae408830a02c4a063104bcaffected
LinuxLinuxfa6d7a5853f93efb088aba36af12cb1944156411affected
LinuxLinux5.9.5 < 5.10affected
LinuxLinux5.10affected
LinuxLinux0 < 5.10unaffected
LinuxLinux5.15.150 <= 5.15.*unaffected
LinuxLinux6.1.42 <= 6.1.*unaffected
LinuxLinux6.4.7 <= 6.4.*unaffected
LinuxLinux6.5 <= *unaffected

Weaknesses

References