Description
In the Linux kernel, the following vulnerability has been resolved:
tcp: avoid too many retransmit packets
If a TCP socket is using TCP_USER_TIMEOUT, and the other peer retracted its window to zero, tcp_retransmit_timer() can retransmit a packet every two jiffies (2 ms for HZ=1000), for about 4 minutes after TCP_USER_TIMEOUT has 'expired'.
The fix is to make sure tcp_rtx_probe0_timed_out() takes icsk->icsk_user_timeout into account.
Before blamed commit, the socket would not timeout after icsk->icsk_user_timeout, but would use standard exponential backoff for the retransmits.
Also worth noting that before commit e89688e3e978 ("net: tcp: fix unexcepted socket die when snd_wnd is 0"), the issue would last 2 minutes instead of 4.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:LAffected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= b701a99e431db784714c32fc6b68123045714679, < 7bb7670f92bfbd05fc41a8f9a8f358b7ffed65f4; >= b701a99e431db784714c32fc6b68123045714679, < d2346fca5bed130dc712f276ac63450201d52969; >= b701a99e431db784714c32fc6b68123045714679, < 5d7e64d70a11d988553a08239c810a658e841982; >= b701a99e431db784714c32fc6b68123045714679, < 04317a2471c2f637b4c49cbd0e9c0d04a519f570; >= b701a99e431db784714c32fc6b68123045714679, < e113cddefa27bbf5a79f72387b8fbd432a61a466; >= b701a99e431db784714c32fc6b68123045714679, < dfcdd7f89e401d2c6616be90c76c2fac3fa98fde; >= b701a99e431db784714c32fc6b68123045714679, < 66cb64a1d2239cd0309f9b5038b05462570a5be1; >= b701a99e431db784714c32fc6b68123045714679, < 97a9063518f198ec0adb2ecb89789de342bb8283 |
| Linux | Linux | 4.19 |
References
- https://git.kernel.org/stable/c/04317a2471c2f637b4c49cbd0e9c0d04a519f570Patch
- https://git.kernel.org/stable/c/5d7e64d70a11d988553a08239c810a658e841982Patch
- https://git.kernel.org/stable/c/66cb64a1d2239cd0309f9b5038b05462570a5be1Patch
- https://git.kernel.org/stable/c/7bb7670f92bfbd05fc41a8f9a8f358b7ffed65f4Patch
- https://git.kernel.org/stable/c/97a9063518f198ec0adb2ecb89789de342bb8283Patch
- https://git.kernel.org/stable/c/d2346fca5bed130dc712f276ac63450201d52969Patch
- https://git.kernel.org/stable/c/dfcdd7f89e401d2c6616be90c76c2fac3fa98fdePatch
- https://git.kernel.org/stable/c/e113cddefa27bbf5a79f72387b8fbd432a61a466Patch
- https://git.kernel.org/stable/c/04317a2471c2f637b4c49cbd0e9c0d04a519f570Patch
- https://git.kernel.org/stable/c/5d7e64d70a11d988553a08239c810a658e841982Patch
- https://git.kernel.org/stable/c/66cb64a1d2239cd0309f9b5038b05462570a5be1Patch
- https://git.kernel.org/stable/c/7bb7670f92bfbd05fc41a8f9a8f358b7ffed65f4Patch
- https://git.kernel.org/stable/c/97a9063518f198ec0adb2ecb89789de342bb8283Patch
- https://git.kernel.org/stable/c/d2346fca5bed130dc712f276ac63450201d52969Patch
- https://git.kernel.org/stable/c/dfcdd7f89e401d2c6616be90c76c2fac3fa98fdePatch
- https://git.kernel.org/stable/c/e113cddefa27bbf5a79f72387b8fbd432a61a466Patch
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
Timeline
- Published
- Jul 15, 2024
- Last modified
- Aug 4, 2026
- NVD status
- Modified