Vulnerability · Published May 9, 2025 · Assigned by Linux

CVE-2025-37871nfsd: decrease sc_count directly if fail to queue dl_recall

High 7.5

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.8% (higher than 56% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.5High
Exploit odds (30 days)0.8%top 43.9% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: nfsd: decrease sc_count directly if fail to queue dl_recall A deadlock warning occurred when invoking nfs4_put_stid following a failed dl_recall queue operation: T1 T2 nfs4_laundromat nfs4_get_client_reaplist nfs4_anylock_blockers __break_lease spin_lock // ctx->flc_lock spin_lock // clp->cl_lock nfs4_lockowner_has_blockers locks_owner_has_blockers spin_lock // flctx->flc_lock nfsd_break_deleg_cb nfsd_break_one_deleg nfs4_put_stid refcount_dec_and_lock spin_lock // clp->cl_lock When a file is opened, an nfs4_delegation is allocated with sc_count initialized to 1, and the file_lease holds a reference to the delegation. The file_lease is then associated with the file through kernel_setlease. The disassociation is performed in nfsd4_delegreturn via the following call chain: nfsd4_delegreturn --> destroy_delegation --> destroy_unhashed_deleg --> nfs4_unlock_deleg_lease --> kernel_setlease --> generic_delete_lease The corresponding sc_count reference will be released after this disassociation. Since nfsd_break_one_deleg executes while holding the flc_lock, the disassociation process becomes blocked when attempting to acquire flc_lock in generic_delete_lease. This means: 1) sc_count in nfsd_break_one_deleg will not be decremented to 0; 2) The nfs4_put_stid called by nfsd_break_one_deleg will not attempt to acquire cl_lock; 3) Consequently, no deadlock condition is created. Given that sc_count in nfsd_break_one_deleg remains non-zero, we can safely perform refcount_dec on sc_count directly. This approach effectively avoids triggering deadlock warnings.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.135-1DEBIAN-CVE-2025-37871
Debian:13linux6.12.25-1DEBIAN-CVE-2025-37871
Debian:14linux6.12.25-1DEBIAN-CVE-2025-37871
Ubuntu:22.04:LTSlinux5.15.0-144.157UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux6.8.0-100.100UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-aws5.15.0-1088.95UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-aws6.8.0-1046.49UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1046.49~22.04.1UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-azure5.15.0-1094.103UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-azure6.8.0-1046.52UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1051.57~22.04.1UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1094.103.1UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-azure-fde6.8.0-1046.53UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-azure-fde-6.86.8.0-1046.53~22.04.1UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-gcp5.15.0-1087.96UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-gcp6.8.0-1047.50UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1047.50~22.04.2UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-gke5.15.0-1085.91UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-gke6.8.0-1043.48UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1070.78UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1030.33UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-100.100~22.04.1UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-ibm5.15.0-1080.83UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-ibm6.8.0-1044.44UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1044.44~22.04.1UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1083.89UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-kvm5.15.0-1084.89UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-144.157UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-100.100.1UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-100.100.1~22.04.1UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1082.83UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1046.49UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1046.49~22.04.1UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1046.49.1UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-nvidia-tegra5.15.0-1041.41UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1020.20UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-nvidia-tegra-igx5.15.0-1030.30UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-oracle5.15.0-1085.91UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-oracle6.8.0-1043.44UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1043.44~22.04.1UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-raspi5.15.0-1083.86UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-raspi6.8.0-1047.51UBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-100.100~22.04.1UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2025-37871
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1023.24UBUNTU-CVE-2025-37871
Ubuntu:22.04:LTSlinux-xilinx-zynqmp5.15.0-1052.56UBUNTU-CVE-2025-37871

Affected products (as reported)

VendorProductVersions
Linux Linux b874cdef4e67e5150e07eff0eae1cbb21fb92da1 – before b9bbe8f9d5663311d06667ce36d6ed255ead1a26cdb796137c57e68ca34518d53be53b679351eb86 – before a70832d3555987035fc430ccd703acd89393eadbd96587cc93ec369031bcd7658c6adc719873c9fd – before ba903539fff745d592d893c71b30e5e268a954139a81cde8c7ce65dd90fb47ceea93a45fc1a2fbd1 – before 7d192e27a431026c58d60edf66dc6cd98d0c01fccad3479b63661a399c9df1d0b759e1806e2df3c8 – before a7fce086f6ca84db409b9d58493ea77c1978897c133f5e2a37ce08c82d24e8fba65e0a81deae4609 – before 14985d66b9b99c12995dd99d1c6c8dec4114c2a5230ca758453c63bd38e4d9f4a21db698f7abada8 – before a1d14d931bf700c1025db8c46d6731aa5cf440f963b91c8ff4589f5263873b24c052447a28e10ef7
Linux Linux 5.10.236 – before 5.10.2375.15.180 – before 5.15.1816.1.134 – before 6.1.1356.6.87 – before 6.6.886.12.23 – before 6.12.256.14.2 – before 6.14.4

References