CVE-2021-4442
Published: Aug 29, 2024
Modified: May 11, 2026
Description
In the Linux kernel, the following vulnerability has been resolved: tcp: add sanity tests to TCP_QUEUE_SEQ Qingyu Li reported a syzkaller bug where the repro changes RCV SEQ _after_ restoring data in the receive queue. mprotect(0x4aa000, 12288, PROT_READ) = 0 mmap(0x1ffff000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x1ffff000 mmap(0x20000000, 16777216, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x20000000 mmap(0x21000000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x21000000 socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 3 setsockopt(3, SOL_TCP, TCP_REPAIR, [1], 4) = 0 connect(3, {sa_family=AF_INET6, sin6_port=htons(0), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_scope_id=0}, 28) = 0 setsockopt(3, SOL_TCP, TCP_REPAIR_QUEUE, [1], 4) = 0 sendmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="0x0000000000000003\0\0", iov_len=20}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 20 setsockopt(3, SOL_TCP, TCP_REPAIR, [0], 4) = 0 setsockopt(3, SOL_TCP, TCP_QUEUE_SEQ, [128], 4) = 0 recvfrom(3, NULL, 20, 0, NULL, NULL) = -1 ECONNRESET (Connection reset by peer) syslog shows: [ 111.205099] TCP recvmsg seq # bug 2: copied 80, seq 0, rcvnxt 80, fl 0 [ 111.207894] WARNING: CPU: 1 PID: 356 at net/ipv4/tcp.c:2343 tcp_recvmsg_locked+0x90e/0x29a0 This should not be allowed. TCP_QUEUE_SEQ should only be used when queues are empty. This patch fixes this case, and the tx path as well.
| Vendor | Product | Versions |
|---|---|---|
Linux | Linux | affected ee9952831cfd0bbe834f4a26489d7dce74582e37 - < 319f460237fc2965a80aa9a055044e1da7b3692aaffected ee9952831cfd0bbe834f4a26489d7dce74582e37 - < 3bf899438c123c444f6b644a57784dfbb6b15ad6affected ee9952831cfd0bbe834f4a26489d7dce74582e37 - < 046f3c1c2ff450fb7ae53650e9a95e0074a61f3eaffected ee9952831cfd0bbe834f4a26489d7dce74582e37 - < 3b72d5a703842f582502d97906f17d6ee122dac2affected ee9952831cfd0bbe834f4a26489d7dce74582e37 - < 8811f4a9836e31c14ecdf79d9f3cb7c5d463265d |
Linux | Linux | affected 3.5unaffected 0 - < 3.5unaffected 4.19.181 - <= 4.19.*unaffected 5.4.106 - <= 5.4.*unaffected 5.10.24 - <= 5.10.*+2 more versions |
References
Security Training
Train your team to recognize and prevent security threats with our comprehensive security awareness program.
Start TrainingVulnerability Scanning
Discover vulnerabilities in your applications and infrastructure before attackers do.
Scan Now