CVE-2022-49204

Source
https://cve.org/CVERecord?id=CVE-2022-49204
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49204.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-49204
Downstream
Related
Published
2025-02-26T01:55:44.678Z
Modified
2026-04-11T12:43:42.277345Z
Summary
bpf, sockmap: Fix more uncharged while msg has more_data
Details

In the Linux kernel, the following vulnerability has been resolved:

bpf, sockmap: Fix more uncharged while msg has more_data

In tcpbpfsendverdict(), if msg has more data after tcpbpfsendmsgredir():

tcpbpfsend_verdict() tosend = msg->sg.size //msg->sg.size = 22220 case __SKREDIRECT: skmsgreturn() //uncharged msg->sg.size(22220) sk->skforwardalloc tcpbpfsendmsgredir() //after tcpbpfsendmsgredir, msg->sg.size=11000 goto moredata; tosend = msg->sg.size //msg->sg.size = 11000 case _SKREDIRECT: skmsgreturn() //uncharged msg->sg.size(11000) to sk->skforwardalloc

The msg->sg.size(11000) has been uncharged twice, to fix we can charge the remaining msg->sg.size before goto more data.

This issue can cause the following info: WARNING: CPU: 0 PID: 9860 at net/core/stream.c:208 skstreamkillqueues+0xd4/0x1a0 Call Trace: <TASK> inetcskdestroysock+0x55/0x110 __tcpclose+0x279/0x470 tcpclose+0x1f/0x60 inet_release+0x3f/0x80 __sockrelease+0x3d/0xb0 sockclose+0x11/0x20 _fput+0x92/0x250 taskworkrun+0x6a/0xa0 doexit+0x33b/0xb60 dogroupexit+0x2f/0xa0 getsignal+0xb6/0x950 archdosignalorrestart+0xac/0x2a0 ? vfswrite+0x237/0x290 exittousermodeprepare+0xa9/0x200 syscallexittousermode+0x12/0x30 dosyscall64+0x46/0x80 entrySYSCALL64afterhwframe+0x44/0xae </TASK>

WARNING: CPU: 0 PID: 2136 at net/ipv4/afinet.c:155 inetsock_destruct+0x13c/0x260 Call Trace: <TASK> _skdestruct+0x24/0x1f0 skpsockdestroy+0x19b/0x1c0 processonework+0x1b3/0x3c0 workerthread+0x30/0x350 ? processonework+0x3c0/0x3c0 kthread+0xe6/0x110 ? kthreadcompleteandexit+0x20/0x20 retfromfork+0x22/0x30 </TASK>

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49204.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
604326b41a6fb9b4a78b6179335decee0365cd8c
Fixed
244ce90c8d0bd10ebf957da02c6f3fcd5d920bdf
Fixed
7b812a369e6416ab06d83cdd39d8e3f752781dd0
Fixed
168ff181f5b6e7fce684c98a30d35da1dbf8f82a
Fixed
87d532d41ef937e16f61b3d2094f3a2ac49be365
Fixed
abb4caa477a5450817d2aa1198edce66450aecf8
Fixed
84472b436e760ba439e1969a9e3c5ae7c86de39d

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49204.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.20.0
Fixed
5.4.189
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.110
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.33
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
5.16.19
Type
ECOSYSTEM
Events
Introduced
5.17.0
Fixed
5.17.2

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49204.json"