CVE-2025-21731
Published: Feb 27, 2025
Modified: May 11, 2026
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.
| Vendor | Product | Versions |
|---|---|---|
Linux | Linux | affected b7aa3d39385dc2d95899f9e379623fef446a2acd - < e70a578487a47d7cf058904141e586684d1c3381affected b7aa3d39385dc2d95899f9e379623fef446a2acd - < 6bef6222a3f6c7adb6396f77f25a3579d821b09aaffected b7aa3d39385dc2d95899f9e379623fef446a2acd - < e3be8862d73cac833e0fb7602636c19c6cb94b11affected b7aa3d39385dc2d95899f9e379623fef446a2acd - < e7343fa33751cb07c1c56b666bf37cfca357130eaffected b7aa3d39385dc2d95899f9e379623fef446a2acd - < d208d2c52b652913b5eefc8ca434b0d6b757f68f+3 more versions |
Linux | Linux | affected 4.12unaffected 0 - < 4.12unaffected 5.4.291 - <= 5.4.*unaffected 5.10.235 - <= 5.10.*unaffected 5.15.179 - <= 5.15.*+5 more versions |
References
Security Training
Train your team to recognize and prevent security threats with our comprehensive security awareness program.
Start TrainingVulnerability Scanning
Discover vulnerabilities in your applications and infrastructure before attackers do.
Scan Now