CVE-2023-53133: bpf, sockmap: Fix an infinite loop error when len is 0 in tcp_bpf_recvmsg_parser()
In the Linux kernel, the following vulnerability has been resolved:
bpf, sockmap: Fix an infinite loop error when len is 0 in tcp_bpf_recvmsg_parser()
When the buffer length of the recvmsg system call is 0, we got the
flollowing soft lockup problem:
watchdog: BUG: soft lockup - CPU#3 stuck for 27s! [a.out:6149]
CPU: 3 PID: 6149 Comm: a.out Kdump: loaded Not tainted 6.2.0+ #30
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014
RIP: 0010:remove_wait_queue+0xb/0xc0
Code: 5e 41 5f c3 cc cc cc cc 0f 1f 80 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 41 57 <41> 56 41 55 41 54 55 48 89 fd 53 48 89 f3 4c 8d 6b 18 4c 8d 73 20
RSP: 0018:ffff88811b5978b8 EFLAGS: 00000246
RAX: 0000000000000000 RBX: ffff88811a7d3780 RCX: ffffffffb7a4d768
RDX: dffffc0000000000 RSI: ffff88811b597908 RDI: ffff888115408040
RBP: 1ffff110236b2f1b R08: 0000000000000000 R09: ffff88811a7d37e7
R10: ffffed10234fa6fc R11: 0000000000000001 R12: ffff88811179b800
R13: 0000000000000001 R14: ffff88811a7d38a8 R15: ffff88811a7d37e0
FS: 00007f6fb5398740(0000) GS:ffff888237180000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000000 CR3: 000000010b6ba002 CR4: 0000000000370ee0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
tcp_msg_wait_data+0x279/0x2f0
tcp_bpf_recvmsg_parser+0x3c6/0x490
inet_recvmsg+0x280/0x290
sock_recvmsg+0xfc/0x120
____sys_recvmsg+0x160/0x3d0
___sys_recvmsg+0xf0/0x180
__sys_recvmsg+0xea/0x1a0
do_syscall_64+0x3f/0x90
entry_SYSCALL_64_after_hwframe+0x72/0xdc
The logic in tcp_bpf_recvmsg_parser is as follows:
msg_bytes_ready:
copied = sk_msg_recvmsg(sk, psock, msg, len, flags);
if (!copied) {
wait data;
goto msg_bytes_ready;
}
In this case, "copied" always is 0, the infinite loop occurs.
According to the Linux system call man page, 0 should be returned in this
case. Therefore, in tcp_bpf_recvmsg_parser(), if the length is 0, directly
return. Also modify several other functions with the same problem.
Security readout for executives and security teams
Plain-English summary
CVE-2023-53133 is a Linux kernel flaw where a zero-length recvmsg call on specific BPF sockmap TCP handling paths can trap the kernel in an infinite loop, causing a CPU soft lockup. The documented impact is availability disruption, not data theft or code execution.
Executive priority
Address through normal kernel patch governance, with higher priority for critical systems using eBPF networking or showing soft lockup symptoms. There is no sourced evidence of active exploitation or data compromise, but availability impact on production hosts can still be operationally serious.
Technical view
The bug is in tcp_bpf_recvmsg_parser() and similar functions. When len is 0, sk_msg_recvmsg() returns 0, then the parser waits and retries indefinitely instead of returning 0 as expected for zero-length recvmsg. Linux stable commits resolve this by returning directly when length is zero.
Likely exposure
Exposure is likely limited to Linux systems running affected kernel versions where BPF sockmap TCP receive paths are reachable. The source does not establish whether ordinary remote traffic alone can trigger it or what privileges are needed to set up the required path.
Exploitation context
The source bundle reports a reproducible soft lockup but provides no KEV listing, no public exploitation claim, and no CVSS. Treat active exploitation as unconfirmed. The most supported risk is local or workload-driven denial of service through CPU lockup.
Researcher notes
The source identifies a logic error around zero-length recvmsg handling in tcp_bpf_recvmsg_parser(). Evidence supports denial of service via infinite loop and soft lockup. Privilege requirements, remote reachability, and distribution-specific affected ranges are not established in the supplied bundle.
Mitigation direction
Check kernel vendor advisories for CVE-2023-53133 coverage.
Upgrade to a kernel containing the referenced stable fixes.
Prioritize systems using BPF sockmap or custom eBPF networking.
Apply normal change control for production kernel updates.
Monitor vendor backport status for maintained distribution kernels.
Validation and detection
Inventory Linux kernel versions across affected hosts.
Confirm whether BPF sockmap networking is used in workloads.
Map deployed kernels to the referenced stable fix commits.
Review system logs for soft lockup watchdog messages.
Verify distribution advisories before closing remediation tickets.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2023-53133 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
6Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
May 2, 2025, 15:56 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.