CVE-2025-39932: smb: client: let smbd_destroy() call disable_work_sync(&info->post_send_credits_work)
In the Linux kernel, the following vulnerability has been resolved:
smb: client: let smbd_destroy() call disable_work_sync(&info->post_send_credits_work)
In smbd_destroy() we may destroy the memory so we better
wait until post_send_credits_work is no longer pending
and will never be started again.
I actually just hit the case using rxe:
WARNING: CPU: 0 PID: 138 at drivers/infiniband/sw/rxe/rxe_verbs.c:1032 rxe_post_recv+0x1ee/0x480 [rdma_rxe]
...
[ 5305.686979] [ T138] smbd_post_recv+0x445/0xc10 [cifs]
[ 5305.687135] [ T138] ? srso_alias_return_thunk+0x5/0xfbef5
[ 5305.687149] [ T138] ? __kasan_check_write+0x14/0x30
[ 5305.687185] [ T138] ? __pfx_smbd_post_recv+0x10/0x10 [cifs]
[ 5305.687329] [ T138] ? __pfx__raw_spin_lock_irqsave+0x10/0x10
[ 5305.687356] [ T138] ? srso_alias_return_thunk+0x5/0xfbef5
[ 5305.687368] [ T138] ? srso_alias_return_thunk+0x5/0xfbef5
[ 5305.687378] [ T138] ? _raw_spin_unlock_irqrestore+0x11/0x60
[ 5305.687389] [ T138] ? srso_alias_return_thunk+0x5/0xfbef5
[ 5305.687399] [ T138] ? get_receive_buffer+0x168/0x210 [cifs]
[ 5305.687555] [ T138] smbd_post_send_credits+0x382/0x4b0 [cifs]
[ 5305.687701] [ T138] ? __pfx_smbd_post_send_credits+0x10/0x10 [cifs]
[ 5305.687855] [ T138] ? __pfx___schedule+0x10/0x10
[ 5305.687865] [ T138] ? __pfx__raw_spin_lock_irq+0x10/0x10
[ 5305.687875] [ T138] ? queue_delayed_work_on+0x8e/0xa0
[ 5305.687889] [ T138] process_one_work+0x629/0xf80
[ 5305.687908] [ T138] ? srso_alias_return_thunk+0x5/0xfbef5
[ 5305.687917] [ T138] ? __kasan_check_write+0x14/0x30
[ 5305.687933] [ T138] worker_thread+0x87f/0x1570
...
It means rxe_post_recv was called after rdma_destroy_qp().
This happened because put_receive_buffer() was triggered
by ib_drain_qp() and called:
queue_work(info->workqueue, &info->post_send_credits_work);
Security readout for executives and security teams
Plain-English summary
A Linux SMB client cleanup race can leave background RDMA work running after related resources are destroyed. This can trigger unsafe kernel behavior and potentially severe confidentiality, integrity, and availability impact under the supplied CVSS assessment. Exposure appears limited to affected kernels using SMB Direct/RDMA paths. The bundle provides no evidence of exploitation in the wild.
Executive priority
Treat this as an urgent targeted kernel remediation for Linux systems using SMB Direct/RDMA, especially critical file-service clients. Do not assume every Linux SMB system is remotely exploitable from the CVSS score alone. Identify relevant configurations, obtain distribution-specific fixed packages, test, and deploy promptly. The supplied exploitation evidence does not support broader emergency action.
Technical view
smbd_destroy() could release connection state while post_send_credits_work remained pending or could be queued again. The observed RXE path called rxe_post_recv() after rdma_destroy_qp(), indicating a teardown synchronization flaw in the CIFS SMB Direct client. The stable change synchronously disables the work item before destruction. The bundle supplies no CWE or demonstrated security impact beyond the kernel warning and call trace.
Likely exposure
Linux hosts running listed affected kernels—4.16, 6.12.49, 6.16.9, and 6.17—and exercising CIFS SMB Direct over RDMA are the clearest candidates. The bundle also contains an ambiguous “0” version and repeated commit identifiers, so distribution-specific package status requires verification. These sources do not establish exposure for ordinary SMB use outside the RDMA path.
Exploitation context
The bundle marks KEV false, and no supplied source reports active exploitation, public exploit code, or a proven remote attack path. The issue was reproduced with software RXE and produced a kernel warning after RDMA queue-pair destruction. Although CVSS 9.8 models unauthenticated network exploitation and full impact, the bundle does not document trigger conditions or confirmed consequences validating that worst case.
Researcher notes
The core invariant is that post_send_credits_work must be disabled and drained before smbd_destroy() releases associated state. The trace shows work queued from put_receive_buffer() during ib_drain_qp(), later reaching smbd_post_recv() after rdma_destroy_qp(). Commit-to-release mapping, reachable remote inputs, privilege boundaries, and concrete memory-corruption consequences are absent; these gaps materially limit exploitability conclusions.
Mitigation direction
Apply a vendor-supported kernel containing the applicable linked stable fix after confirming the correct distribution package.
Prioritize affected hosts that actively use CIFS SMB Direct over RDMA.
Consult Linux distributor guidance for fixed versions; the bundle provides no package mapping or validated workaround.
Test kernel updates against file-service workloads, then deploy through the normal controlled update process.
Validation and detection
Inventory running kernel versions and compare them with the listed affected versions and distributor advisories.
Confirm whether CIFS and SMB Direct/RDMA are enabled and exercised on each candidate host.
Verify the installed kernel source or package changelog includes the applicable stable fix.
Review kernel logs for CIFS, smbd, RDMA, RXE, or queue-pair teardown warnings.
After updating and rebooting, confirm the running kernel is the intended fixed package.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-39932 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
4Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.