CVE-2022-48909
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
22/08/2024
Last modified:
12/09/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
net/smc: fix connection leak<br />
<br />
There&#39;s a potential leak issue under following execution sequence :<br />
<br />
smc_release smc_connect_work<br />
if (sk->sk_state == SMC_INIT)<br />
send_clc_confirim<br />
tcp_abort();<br />
...<br />
sk.sk_state = SMC_ACTIVE<br />
smc_close_active<br />
switch(sk->sk_state) {<br />
...<br />
case SMC_ACTIVE:<br />
smc_close_final()<br />
// then wait peer closed<br />
<br />
Unfortunately, tcp_abort() may discard CLC CONFIRM messages that are<br />
still in the tcp send buffer, in which case our connection token cannot<br />
be delivered to the server side, which means that we cannot get a<br />
passive close message at all. Therefore, it is impossible for the to be<br />
disconnected at all.<br />
<br />
This patch tries a very simple way to avoid this issue, once the state<br />
has changed to SMC_ACTIVE after tcp_abort(), we can actively abort the<br />
smc connection, considering that the state is SMC_INIT before<br />
tcp_abort(), abandoning the complete disconnection process should not<br />
cause too much problem.<br />
<br />
In fact, this problem may exist as long as the CLC CONFIRM message is<br />
not received by the server. Whether a timer should be added after<br />
smc_close_final() needs to be discussed in the future. But even so, this<br />
patch provides a faster release for connection in above case, it should<br />
also be valuable.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.3 (including) | 5.10.104 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.27 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 5.16.13 (excluding) |
| cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.17:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.17:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.17:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.17:rc6:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



