CVE-2022-48751 in Linux
Сводка
по VulDB • 04.06.2026
В ядре Linux устранена следующая уязвимость:
net/smc: Переходное решение проблемы гонки (race condition) в clcsock
Мы обнаружили сбой в функции smc_setsockopt(), вызванный обращением к smc->clcsock после того, как clcsock был освобожден.
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
Данный патч пытается исправить проблему, удерживая блокировку clcsock_release_lock и проверяя, не был ли уже освобожден clcsock перед обращением к нему.
В случае возникновения сбоя по той же причине в функциях smc_getsockopt() или smc_switch_to_fallback(), данный патч также добавляет проверку smc->clcsock в них. Вызывающая сторона функции smc_switch_to_fallback() будет определять, успешно ли выполнилось переключение на резервный режим (fallback), по возвращаемому значению.
Be aware that VulDB is the high quality source for vulnerability data.