CVE-2022-49973: skmsg: Fix wrong last sg check in sk_msg_recvmsg()
In the Linux kernel, the following vulnerability has been resolved:
skmsg: Fix wrong last sg check in sk_msg_recvmsg()
Fix one kernel NULL pointer dereference as below:
[ 224.462334] Call Trace:
[ 224.462394] __tcp_bpf_recvmsg+0xd3/0x380
[ 224.462441] ? sock_has_perm+0x78/0xa0
[ 224.462463] tcp_bpf_recvmsg+0x12e/0x220
[ 224.462494] inet_recvmsg+0x5b/0xd0
[ 224.462534] __sys_recvfrom+0xc8/0x130
[ 224.462574] ? syscall_trace_enter+0x1df/0x2e0
[ 224.462606] ? __do_page_fault+0x2de/0x500
[ 224.462635] __x64_sys_recvfrom+0x24/0x30
[ 224.462660] do_syscall_64+0x5d/0x1d0
[ 224.462709] entry_SYSCALL_64_after_hwframe+0x65/0xca
In commit 9974d37ea75f ("skmsg: Fix invalid last sg check in
sk_msg_recvmsg()"), we change last sg check to sg_is_last(),
but in sockmap redirection case (without stream_parser/stream_verdict/
skb_verdict), we did not mark the end of the scatterlist. Check the
sk_msg_alloc, sk_msg_page_add, and bpf_msg_push_data functions, they all
do not mark the end of sg. They are expected to use sg.end for end
judgment. So the judgment of '(i != msg_rx->sg.end)' is added back here.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel bug in a TCP/BPF message handling path. Under the affected code path, the kernel can hit a NULL pointer dereference. The public sources do not provide CVSS scoring, exploitation evidence, or proof of data compromise, so treat the primary known risk as availability until vendor guidance says otherwise.
Executive priority
Track this through routine Linux kernel patch management unless your environment heavily uses eBPF sockmap features or hosts untrusted workloads. The available evidence supports attention, not emergency response.
Technical view
The issue is in sk_msg_recvmsg(). A prior fix changed the last scatterlist check to sg_is_last(), but sockmap redirection without stream_parser, stream_verdict, or skb_verdict did not mark the scatterlist end. The stable fixes restore checking against msg_rx->sg.end to avoid a NULL pointer dereference in the TCP BPF receive path.
Likely exposure
Exposure appears limited to Linux kernels containing the faulty skmsg change and reachable BPF sockmap redirection receive paths. The source bundle names Linux kernel versions 5.15.61 and 5.19.2 and several commits, but it does not provide complete distribution package mapping.
Exploitation context
The bundle marks KEV as false and provides no cited evidence of active exploitation. It includes a kernel crash trace through recvfrom and tcp_bpf_recvmsg, but does not establish remote reachability, required privileges, or a public exploit.
Researcher notes
Key uncertainty is reachability. The sources describe the faulty end-of-scatterlist condition and fix, but not a complete trigger model, privilege boundary, or distro-specific affected ranges. Validate against exact kernel source packages rather than upstream version numbers alone.
Mitigation direction
Check Linux vendor advisories for your exact distribution kernel package.
Prioritize kernel updates that include the referenced stable fixes.
Inventory systems using eBPF, sockmap, or TCP BPF functionality.
Apply normal kernel patch maintenance for internet-facing and multi-tenant Linux hosts.
Validation and detection
Compare running kernel builds against vendor advisories for CVE-2022-49973.
Check whether deployed kernels include the referenced stable commits.
Identify workloads using BPF sockmap or TCP BPF receive paths.
Review crash logs for NULL pointer dereferences in tcp_bpf_recvmsg or sk_msg_recvmsg.
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-2022-49973 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
4Source 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.
Jun 18, 2025, 11:00 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.