vsock/virtio: fix potential underflow in virtio_transport_get_credit()
Description
In the Linux kernel, the following vulnerability has been resolved:
vsock/virtio: fix potential underflow in virtio_transport_get_credit()
The credit calculation in virtio_transport_get_credit() uses unsigned arithmetic:
ret = vvs->peer_buf_alloc - (vvs->tx_cnt - vvs->peer_fwd_cnt);
If the peer shrinks its advertised buffer (peer_buf_alloc) while bytes are in flight, the subtraction can underflow and produce a large positive value, potentially allowing more data to be queued than the peer can handle.
Reuse virtio_transport_has_space() which already handles this case and add a comment to make it clear why we are doing that.
[Stefano: use virtio_transport_has_space() instead of duplicating the code] [Stefano: tweak the commit message]
Affected products
2- Linux/Linuxv5Range: 4.8
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
5- git.kernel.org/stable/c/02f9af192b98d15883c70dd41ac76d1b0217c899mitre
- git.kernel.org/stable/c/3ef3d52a1a9860d094395c7a3e593f3aa26ff012mitre
- git.kernel.org/stable/c/d05bc313788f0684b27f0f5b60c52a844669b542mitre
- git.kernel.org/stable/c/d96de882d6b99955604669d962ae14e94b66a551mitre
- git.kernel.org/stable/c/ec0f1b3da8061be3173d1c39faaf9504f91942c3mitre
News mentions
0No linked articles in our index yet.