Skip to main content
Vulnerability Database/CVE-2026-98449

CVE-2026-98449: Linux Kernel SMB Client DOS Vulnerability

CVE-2026-98449 is a denial of service vulnerability in the Linux kernel SMB client that causes credit tracking errors during reconnection attempts. This post explains its technical details, affected versions, impact, and mitigation steps.

Published:

CVE-2026-98449 Overview

CVE-2026-98449 is a Linux kernel vulnerability in the SMB client (smb/client) code path handling compound request send failures. When smb_send_rqst() fails to transmit a compound Server Message Block (SMB) request, the function triggers a reconnect while leaving multiple message IDs (mids) queued on pending_mid_q and unlocks the server without removing them. The subsequent reconnect path and the send-error path both return credits for the same mids, decrementing in_flight twice and triggering a WARN in smb2_add_credits(). The flaw was reproduced by syzbot during SMB2_negotiate when the socket send fails.

Critical Impact

Local or network-adjacent conditions that cause SMB send failures can trigger kernel warnings and credit accounting corruption in the CIFS/SMB client, potentially leading to denial of service.

Affected Products

  • Linux kernel SMB/CIFS client (fs/smb/client)
  • Systems using the in-kernel SMB2/SMB3 client to mount remote shares
  • Distributions shipping affected mainline kernel revisions prior to the referenced stable commits

Discovery Timeline

  • 2026-10-18 - CVE-2026-98449 published to the National Vulnerability Database (NVD)
  • 2026-10-19 - Last updated in NVD database

Technical Details for CVE-2026-98449

Vulnerability Analysis

The defect lives in the compound request handling path of the Linux kernel SMB client. When compound_send_recv() dispatches a chain of SMB requests through smb_send_rqst() and transmission fails, the function initiates a reconnect but leaves the chain's mids queued on pending_mid_q. The server lock is released before cleanup completes.

During reconnect, cifs_abort_connection() walks pending_mid_q and invokes each mid callback. Because no response was received, those callbacks return credits to the session and decrement in_flight. The send-error path in compound_send_recv() then returns the same credits again. The duplicated accounting causes in_flight to be decremented twice, which trips a WARN_ON inside smb2_add_credits(). Syzbot reproduced the condition during SMB2_negotiate when the underlying socket send operation failed.

The class of defect is a race condition and resource accounting error [CWE-662 / CWE-911] in kernel credit management. The result is noisy kernel warnings, corrupted SMB credit state, and potential denial of service on affected mounts.

Root Cause

cifs_call_async() already calls delete_mid() before releasing the server lock on send failure. The compound send path did not mirror this behavior. Mids remained reachable to the reconnect abort logic while the error path still believed it owned them, producing a double credit return.

Attack Vector

Exploitation requires conditions that cause SMB socket send failures while a compound request is in flight. A malicious or unstable SMB server, intentional network disruption during negotiation, or syzkaller-style fuzzing of the SMB client interface can all trigger the race. The vulnerability is reachable from any workload that mounts SMB shares on a vulnerable kernel.

No verified exploit code is public. See the kernel commit references for technical patch details: Kernel Git Commit 70783946 and Kernel Git Commit 8f6f8a48.

Detection Methods for CVE-2026-98449

Indicators of Compromise

  • Kernel WARN traces originating in smb2_add_credits() with references to in_flight underflow
  • Repeated SMB reconnect events on hosts mounting remote shares, correlated with SMB2_negotiate failures
  • dmesg entries referencing compound_send_recv, smb_send_rqst, or cifs_abort_connection

Detection Strategies

  • Collect kernel ring buffer output and alert on WARN or WARNING frames in fs/smb/client modules
  • Monitor SMB client reconnect rates and credit accounting anomalies through kernel tracing or ftrace
  • Correlate socket send errors on SMB sessions with subsequent kernel warnings to identify triggering servers

Monitoring Recommendations

  • Forward /var/log/kern.log and journald kernel events to a centralized logging or SIEM platform for pattern detection
  • Track CIFS statistics in /proc/fs/cifs/Stats for abnormal reconnect counts and failed negotiations
  • Baseline SMB mount stability per host and alert on sudden spikes in abort or reconnect operations

How to Mitigate CVE-2026-98449

Immediate Actions Required

  • Apply the upstream kernel fix referenced in commits 70783946 and 8f6f8a48 or update to a stable kernel release containing both
  • Inventory Linux systems using the in-kernel CIFS/SMB client and prioritize patching for servers mounting untrusted or unstable SMB endpoints
  • Restrict SMB client connectivity to trusted file servers until patches are deployed

Patch Information

The fix mirrors the behavior of cifs_call_async() by calling delete_mid() on the compound chain before unlocking the server on send failure. It also sets cancelled_mid[] so the out path does not attempt to delete the same mids again. Patch details are available in Kernel Git Commit 70783946 and Kernel Git Commit 8f6f8a48.

Workarounds

  • Avoid mounting SMB shares from untrusted or unreliable servers until the kernel is patched
  • Where feasible, substitute SMB mounts with alternative protocols such as NFS on affected hosts
  • Harden network paths to SMB servers to minimize transient send failures that can trigger the race

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.