CVE-2024-56633
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
27/12/2024
Last modified:
27/12/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
tcp_bpf: Fix the sk_mem_uncharge logic in tcp_bpf_sendmsg<br />
<br />
The current sk memory accounting logic in __SK_REDIRECT is pre-uncharging<br />
tosend bytes, which is either msg->sg.size or a smaller value apply_bytes.<br />
<br />
Potential problems with this strategy are as follows:<br />
<br />
- If the actual sent bytes are smaller than tosend, we need to charge some<br />
bytes back, as in line 487, which is okay but seems not clean.<br />
<br />
- When tosend is set to apply_bytes, as in line 417, and (ret sg.size - apply_bytes) bytes.<br />
<br />
[...]<br />
415 tosend = msg->sg.size;<br />
416 if (psock->apply_bytes && psock->apply_bytes apply_bytes;<br />
[...]<br />
443 sk_msg_return(sk, msg, tosend);<br />
444 release_sock(sk);<br />
446 origsize = msg->sg.size;<br />
447 ret = tcp_bpf_sendmsg_redir(sk_redir, redir_ingress,<br />
448 msg, tosend, flags);<br />
449 sent = origsize - msg->sg.size;<br />
[...]<br />
454 lock_sock(sk);<br />
455 if (unlikely(ret
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/0d6cd1151e26fc7c2d5daa85e8984aaa685a1a12
- https://git.kernel.org/stable/c/206d56f41a1509cadd06e2178c26cb830e45057d
- https://git.kernel.org/stable/c/456f08d24afa51b5eb816c42e4ca1c44a247bd42
- https://git.kernel.org/stable/c/5c9e3bb43a354a2245caebbbbb4a5b8c034fdd56
- https://git.kernel.org/stable/c/905d82e6e77d16ec3e089c92b7b59a14899dfc1a
- https://git.kernel.org/stable/c/ca70b8baf2bd125b2a4d96e76db79375c07d7ff2
- https://git.kernel.org/stable/c/dbedc7e142df5ea238a46fdd7462c1c42cd36a10



