CVE-2025-21731

nbd: don't allow reconnect after disconnect

State
Published
Severity
7.8 High
Published
Feb 27, 2025
Updated
Oct 15, 2026
Reserved
Dec 29, 2024

Read the record on cve.org

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.

Scores

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

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • b7aa3d39385dc2d95899f9e379623fef446a2acd to before e70a578487a47d7cf058904141e586684d1c3381Affected
  • b7aa3d39385dc2d95899f9e379623fef446a2acd to before 6bef6222a3f6c7adb6396f77f25a3579d821b09aAffected
  • b7aa3d39385dc2d95899f9e379623fef446a2acd to before e3be8862d73cac833e0fb7602636c19c6cb94b11Affected
  • b7aa3d39385dc2d95899f9e379623fef446a2acd to before e7343fa33751cb07c1c56b666bf37cfca357130eAffected
  • b7aa3d39385dc2d95899f9e379623fef446a2acd to before d208d2c52b652913b5eefc8ca434b0d6b757f68fAffected
  • b7aa3d39385dc2d95899f9e379623fef446a2acd to before a8ee6ecde2b7bfb58c8a3afe8a9d2b848f580739Affected
  • b7aa3d39385dc2d95899f9e379623fef446a2acd to before 9793bd5ae4bdbdb2dde401a3cab94a6bfd05e302Affected
  • b7aa3d39385dc2d95899f9e379623fef446a2acd to before 844b8cdc681612ff24df62cdefddeab5772fadf1Affected
LinuxLinux
  • 4.12Affected
  • before 4.12Not affected
  • 5.4.291 through 5.4.*Not affected
  • 5.10.235 through 5.10.*Not affected
  • 5.15.179 through 5.15.*Not affected
  • 6.1.129 through 6.1.*Not affected
  • 6.6.76 through 6.6.*Not affected
  • 6.12.13 through 6.12.*Not affected
  • 6.13.2 through 6.13.*Not affected
  • 6.14 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.