CVE-2022-48751

net/smc: Transitional solution for clcsock race issue

State
Published
Severity
7.8 High
Published
Jun 20, 2024
Updated
Aug 5, 2026
Reserved
Jun 20, 2024

Read the record on cve.org

Description

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: <TASK> __sys_setsockopt+0xfc/0x190 __x64_sys_setsockopt+0x20/0x30 do_syscall_64+0x34/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f16ba83918e </TASK>

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9 to before 38f0bdd548fd2ef5d481b88d8a2bfef968452e34Affected
  • fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9 to before 4284225cd8001e134f5cf533a7cd244bbb654d0fAffected
  • fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9 to before c0bf3d8a943b6f2e912b7c1de03e2ef28e76f760Affected
  • d1d004585b40c212b338fc8a40cbaaf230ea4703Affected
  • 4.19.299 to before 4.20Affected
LinuxLinux
  • 5.1Affected
  • before 5.1Not affected
  • 5.15.19 through 5.15.*Not affected
  • 5.16.5 through 5.16.*Not affected
  • 5.17 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.