CVE-2025-21731

HIGH EPSS 10.0%
Published Feb 27, 20251y ago · Modified Jun 17, 20261w ago
7.8 CVSS 3.1
High
Find Similar
Published Feb 27, 2025 1y ago
Last Modified Jun 17, 2026 1w ago

Description

In the Linux kernel, the following vulnerability has been resolved: nbd: don't allow reconnect after disconnect Following process can cause nbd_config UAF: 1) grab nbd_config temporarily; 2) nbd_genl_disconnect() flush all recv_work() and release the initial reference: nbd_genl_disconnect nbd_disconnect_and_put nbd_disconnect flush_workqueue(nbd->recv_workq) if (test_and_clear_bit(NBD_RT_HAS_CONFIG_REF, ...)) nbd_config_put -> due to step 1), reference is still not zero 3) nbd_genl_reconfigure() queue recv_work() again; nbd_genl_reconfigure config = nbd_get_config_unlocked(nbd) if (!config) -> succeed if (!test_bit(NBD_RT_BOUND, ...)) -> succeed nbd_reconnect_socket queue_work(nbd->recv_workq, &args->work) 4) step 1) release the reference; 5) Finially, recv_work() will trigger UAF: recv_work nbd_config_put(nbd) -> nbd_config is freed atomic_dec(&config->recv_threads) -> UAF Fix the problem by clearing NBD_RT_BOUND in nbd_genl_disconnect(), so that nbd_genl_reconfigure() will fail.

CVSS Details

Base Score
7.8
Exploitability
1.8
Impact
5.9
Vector string
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector Local
Attack Complexity Low
Privileges Required Low
User Interaction None
Scope Unchanged
Confidentiality High
Integrity High
Availability High

Threat Intelligence

EPSS Exploit Probability
10.0% percentile
Exploit & Patch Status
No Known Exploit
Patch Available

Weaknesses 1

CWE-416 Use After Free Memory Safety

Affected Products 7

VendorProductVersionRange
linuxlinux_kernel*≥4.12  –  <5.4.291
linuxlinux_kernel*≥5.5  –  <5.10.235
linuxlinux_kernel*≥5.11  –  <5.15.179
linuxlinux_kernel*≥5.16  –  <6.1.129
linuxlinux_kernel*≥6.2  –  <6.6.76
linuxlinux_kernel*≥6.7  –  <6.12.13
linuxlinux_kernel*≥6.13  –  <6.13.2

References 10

  • git.kernel.org https://git.kernel.org/stable/c/6bef6222a3f6c7adb6396f77f25a3579d821b09a
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/844b8cdc681612ff24df62cdefddeab5772fadf1
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/9793bd5ae4bdbdb2dde401a3cab94a6bfd05e302
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a8ee6ecde2b7bfb58c8a3afe8a9d2b848f580739
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/d208d2c52b652913b5eefc8ca434b0d6b757f68f
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/e3be8862d73cac833e0fb7602636c19c6cb94b11
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/e70a578487a47d7cf058904141e586684d1c3381
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/e7343fa33751cb07c1c56b666bf37cfca357130e
    Patch
  • lists.debian.org https://lists.debian.org/debian-lts-announce/2025/03/msg00028.html
  • lists.debian.org https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html

Remediation

  • git.kernel.org https://git.kernel.org/stable/c/6bef6222a3f6c7adb6396f77f25a3579d821b09a
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/844b8cdc681612ff24df62cdefddeab5772fadf1
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/9793bd5ae4bdbdb2dde401a3cab94a6bfd05e302
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a8ee6ecde2b7bfb58c8a3afe8a9d2b848f580739
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/d208d2c52b652913b5eefc8ca434b0d6b757f68f
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/e3be8862d73cac833e0fb7602636c19c6cb94b11
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/e70a578487a47d7cf058904141e586684d1c3381
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/e7343fa33751cb07c1c56b666bf37cfca357130e
    Patch