CVE-2022-48751

Source
https://cve.org/CVERecord?id=CVE-2022-48751
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-48751.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2022-48751
Downstream
DEBIAN (1)
ROOT (1)
SUSE (8)
UBUNTU (1)
Related
Published
2024-06-20T11:13:32Z
Modified
2026-10-08T02:46:33Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
net/smc: Transitional solution for clcsock race issue
Details

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

net/smc: Transitional solution for clcsock race issue

We encountered a crash in smc_setsockopt() and it is caused by accessing smc->clcsock after clcsock was released.

BUG: kernel NULL pointer dereference, address: 0000000000000020 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 1 PID: 50309 Comm: nginx Kdump: loaded Tainted: G E 5.16.0-rc4+ #53 RIP: 0010:smc_setsockopt+0x59/0x280 [smc] Call Trace: __sys_setsockopt+0xfc/0x190 __x64_sys_setsockopt+0x20/0x30 do_syscall_64+0x34/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f16ba83918e

This patch tries to fix it by holding clcsock_release_lock and checking whether clcsock has already been released before access.

In case that a crash of the same reason happens in smc_getsockopt() or smc_switch_to_fallback(), this patch also checkes smc->clcsock in them too. And the caller of smc_switch_to_fallback() will identify whether fallback succeeds according to the return value.

Database specific
{
    "cna_assigner":  "Linux",
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/48xxx/CVE-2022-48751.json"
}
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
fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9
Fixed
38f0bdd548fd2ef5d481b88d8a2bfef968452e34
Fixed
4284225cd8001e134f5cf533a7cd244bbb654d0f
Fixed
c0bf3d8a943b6f2e912b7c1de03e2ef28e76f760
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
4.19.299
Fixed
4.20
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
d1d004585b40c212b338fc8a40cbaaf230ea4703

Affected versions

v4.*
v4.19.299
v4.19.300
v4.19.301
v4.19.302
v4.19.303
v4.19.304
v4.19.305
v4.19.306
v4.19.307
v4.19.308
v4.19.309
v4.19.310
v4.19.311
v4.19.312
v4.19.313
v4.19.314
v4.19.315
v4.19.316
v4.19.317
v4.19.318
v4.19.319
v4.19.320
v4.19.321
v4.19.322
v4.19.323
v4.19.324
v4.19.325

Database specific

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

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.1.0
Fixed
5.15.19
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
5.16.5

Database specific

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