CVE-2022-48974

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-48974
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-48974.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-48974
Downstream
Published
2024-10-21T20:05:54Z
Modified
2025-10-15T17:17:33.063276Z
Summary
netfilter: conntrack: fix using __this_cpu_add in preemptible
Details

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

netfilter: conntrack: fix using _thiscpu_add in preemptible

Currently in nfconntrackhashcheckinsert(), when it fails in nfctextvalidpre/post(), NFCTSTAT_INC() will be called in the preemptible context, a call trace can be triggered:

BUG: using _thiscpuadd() in preemptible [00000000] code: conntrack/1636 caller is nfconntrackhashcheckinsert+0x45/0x430 [nfconntrack] Call Trace: <TASK> dumpstacklvl+0x33/0x46 checkpreemptiondisabled+0xc3/0xf0 nfconntrackhashcheckinsert+0x45/0x430 [nfconntrack] ctnetlinkcreateconntrack+0x3cd/0x4e0 [nfconntracknetlink] ctnetlinknewconntrack+0x1c0/0x450 [nfconntracknetlink] nfnetlinkrcvmsg+0x277/0x2f0 [nfnetlink] netlinkrcvskb+0x50/0x100 nfnetlinkrcv+0x65/0x144 [nfnetlink] netlinkunicast+0x1ae/0x290 netlinksendmsg+0x257/0x4f0 sock_sendmsg+0x5f/0x70

This patch is to fix it by changing to use NFCTSTATINCATOMIC() for nfctextvalidpre/post() check in nfconntrackhashcheckinsert(), as well as nfctextvalidpost() in _nfconntrack_confirm().

Note that nfctextvalidpre() check in _nfconntrackconfirm() is safe to use NFCTSTATINC(), as it's under localbhdisable().

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
c56716c69ce1ac320432fb1ea5654196ba24d2f8
Fixed
d9bf1138a5db419db13bd9fcd3a7178d6bb20f7c
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
c56716c69ce1ac320432fb1ea5654196ba24d2f8
Fixed
9464d0b68f11a9bc768370c3260ec02b3550447b

Affected versions

v5.*

v5.18
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.19
v5.19-rc1
v5.19-rc2
v5.19-rc3
v5.19-rc4
v5.19-rc5
v5.19-rc6
v5.19-rc7
v5.19-rc8

v6.*

v6.0
v6.0-rc1
v6.0-rc2
v6.0-rc3
v6.0-rc4
v6.0-rc5
v6.0-rc6
v6.0-rc7
v6.0.1
v6.0.10
v6.0.11
v6.0.12
v6.0.2
v6.0.3
v6.0.4
v6.0.5
v6.0.6
v6.0.7
v6.0.8
v6.0.9
v6.1-rc1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.19.0
Fixed
6.0.13