CVE-2025-68372 (CNNVD-202512-4629)
中文标题:
Linux kernel 安全漏洞
英文标题:
nbd: defer config put in recv_work
漏洞描述
中文描述:
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于recv_work中配置释放时机不当,可能导致释放后重用。
英文描述:
In the Linux kernel, the following vulnerability has been resolved: nbd: defer config put in recv_work There is one uaf issue in recv_work when running NBD_CLEAR_SOCK and NBD_CMD_RECONFIGURE: nbd_genl_connect // conf_ref=2 (connect and recv_work A) nbd_open // conf_ref=3 recv_work A done // conf_ref=2 NBD_CLEAR_SOCK // conf_ref=1 nbd_genl_reconfigure // conf_ref=2 (trigger recv_work B) close nbd // conf_ref=1 recv_work B config_put // conf_ref=0 atomic_dec(&config->recv_threads); -> UAF Or only running NBD_CLEAR_SOCK: nbd_genl_connect // conf_ref=2 nbd_open // conf_ref=3 NBD_CLEAR_SOCK // conf_ref=2 close nbd nbd_release config_put // conf_ref=1 recv_work config_put // conf_ref=0 atomic_dec(&config->recv_threads); -> UAF Commit 87aac3a80af5 ("nbd: call nbd_config_put() before notifying the waiter") moved nbd_config_put() to run before waking up the waiter in recv_work, in order to ensure that nbd_start_device_ioctl() would not be woken up while nbd->task_recv was still uncleared. However, in nbd_start_device_ioctl(), after being woken up it explicitly calls flush_workqueue() to make sure all current works are finished. Therefore, there is no need to move the config put ahead of the wakeup. Move nbd_config_put() to the end of recv_work, so that the reference is held for the whole lifetime of the worker thread. This makes sure the config cannot be freed while recv_work is still running, even if clear + reconfigure interleave. In addition, we don't need to worry about recv_work dropping the last nbd_put (which causes deadlock): path A (netlink with NBD_CFLAG_DESTROY_ON_DISCONNECT): connect // nbd_refs=1 (trigger recv_work) open nbd // nbd_refs=2 NBD_CLEAR_SOCK close nbd nbd_release nbd_disconnect_and_put flush_workqueue // recv_work done nbd_config_put nbd_put // nbd_refs=1 nbd_put // nbd_refs=0 queue_work path B (netlink without NBD_CFLAG_DESTROY_ON_DISCONNECT): connect // nbd_refs=2 (trigger recv_work) open nbd // nbd_refs=3 NBD_CLEAR_SOCK // conf_refs=2 close nbd nbd_release nbd_config_put // conf_refs=1 nbd_put // nbd_refs=2 recv_work done // conf_refs=0, nbd_refs=1 rmmod // nbd_refs=0 Depends-on: e2daec488c57 ("nbd: Fix hungtask when nbd_config_put")
CWE类型:
标签:
受影响产品
| 厂商 | 产品 | 版本 | 版本范围 | 平台 | CPE |
|---|---|---|---|---|---|
| Linux | Linux | 0a4e383fc3aa6540f804c4fd1184a96ae5de6ef8 | - | - |
cpe:2.3:a:linux:linux:0a4e383fc3aa6540f804c4fd1184a96ae5de6ef8:*:*:*:*:*:*:*
|
| Linux | Linux | 2ef6f4bd60411934e3fc2715442c2afe70f84bf3 | - | - |
cpe:2.3:a:linux:linux:2ef6f4bd60411934e3fc2715442c2afe70f84bf3:*:*:*:*:*:*:*
|
| Linux | Linux | 742fd49cf811ca164489e339b862e3fb8e240a73 | - | - |
cpe:2.3:a:linux:linux:742fd49cf811ca164489e339b862e3fb8e240a73:*:*:*:*:*:*:*
|
| Linux | Linux | 14df8724aeeef338172e2a2d6efadc989921ca0f | - | - |
cpe:2.3:a:linux:linux:14df8724aeeef338172e2a2d6efadc989921ca0f:*:*:*:*:*:*:*
|
| Linux | Linux | 5.10 | - | - |
cpe:2.3:a:linux:linux:5.10:*:*:*:*:*:*:*
|
解决方案
中文解决方案:
英文解决方案:
临时解决方案:
参考链接
cve.org
cve.org
cve.org
cve.org
nvd.nist.gov
nvd.nist.gov
nvd.nist.gov
nvd.nist.gov
CVSS评分详情
时间信息
利用信息
数据源详情
| 数据源 | 记录ID | 版本 | 提取时间 |
|---|---|---|---|
| CVE | cve_CVE-2025-68372 |
2025-12-25 02:03:31 | 2026-01-12 02:12:30 |
| NVD | nvd_CVE-2025-68372 |
2025-12-30 04:12:18 | 2026-01-12 02:28:13 |
| CNNVD | cnnvd_CNNVD-202512-4629 |
2026-01-11 06:15:03 | 2026-01-12 02:38:06 |
版本与语言
安全公告
变更历史
查看详细变更
- references_count: 6 -> 8
查看详细变更
- references_count: 4 -> 6
查看详细变更
- vulnerability_type: 未提取 -> 其他
- severity: SeverityLevel.MEDIUM -> SeverityLevel.UNKNOWN
- cvss_score: 未提取 -> 0.0
- cnnvd_id: 未提取 -> CNNVD-202512-4629
- data_sources: ['cve', 'nvd'] -> ['cnnvd', 'cve', 'nvd']
查看详细变更
- data_sources: ['cve'] -> ['cve', 'nvd']