Description
In the Linux kernel, the following vulnerability has been resolved:

smb: client: fix UAF and buffer leak in cifs_check_trans2() for malformed secondary T2

When a valid primary TRANSACT2 response has been received (mid->resp_buf
set, mid->multiRsp true) and a subsequent secondary response causes
cifs_check_trans2() to return false -- either because the SMB header is
invalid (malformed != 0) or because check2ndT2() rejects the PDU --
handle_mid() overwrites mid->resp_buf with the new buffer (leaking the
primary buffer) and, because mid->multiRsp is set, skips the
server->smallbuf/bigbuf NULL-out. When the user thread frees
mid->resp_buf, server->smallbuf or server->bigbuf is left dangling; the
demux thread reuses it for the next packet, resulting in a use-after-free.

Combine both early-exit conditions and, when mid->multiRsp is already
set, abort the pending transaction inline: set multiEnd, call
dequeue_mid() with malformed=true, and return true so handle_mid() exits
without touching mid->resp_buf or the server buffer pointers.
Published: 2026-09-11
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Use‑After‑Free via malformed SMB transaction
Action: Immediate Patch
AI Analysis

Impact

A malformed secondary SMB transaction can trigger a use‑after‑free in the CIFS client layer of the Linux kernel. When a valid primary TRANSACT2 response is followed by a secondary response that is rejected because the SMB header is invalid or the PDU fails validation, the client logic overwrites the response buffer pointer. The resulting dangling pointers are later reused by a demultiplexer thread, exposing kernel memory and potentially allowing privilege escalation or denial of service. The flaw is rooted in improper handling of buffer references and improper access with incorrect lengths, identified by CWE‑825.

Affected Systems

The flaw resides in the Linux kernel’s CIFS (SMB) client implementation. Any kernel that includes CIFS client support and lacks the patch applied in the recent commit is vulnerable. Versions preceding the patched release are at risk until updated.

Risk and Exploitability

The CVSS score is 7.1. EPSS score is < 1%, and the vulnerability is not listed in the CISA KEV catalog. An attacker who can send a crafted SMB response to a client can exploit the dangling pointers, potentially gaining kernel privileges or crashing the system. The exploit requires a malicious SMB server interacting with the client, so exposure is limited to systems that connect to SMB over a network. Given its high severity and potential impact, the vulnerability should be considered high risk.

Generated by OpenCVE AI on September 13, 2026 at 01:35 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest kernel update that contains the cifs_check_trans2 patch or backport the fix to older kernels
  • Restrict SMB traffic to limit exposure to malicious SMB servers
  • If CIFS client support is unnecessary, disable it in the kernel configuration

Generated by OpenCVE AI on September 13, 2026 at 01:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 12 Sep 2026 14:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 12 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H'}

threat_severity

Important


Sat, 12 Sep 2026 09:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: smb: client: fix UAF and buffer leak in cifs_check_trans2() for malformed secondary T2 When a valid primary TRANSACT2 response has been received (mid->resp_buf set, mid->multiRsp true) and a subsequent secondary response causes cifs_check_trans2() to return false -- either because the SMB header is invalid (malformed != 0) or because check2ndT2() rejects the PDU -- handle_mid() overwrites mid->resp_buf with the new buffer (leaking the primary buffer) and, because mid->multiRsp is set, skips the server->smallbuf/bigbuf NULL-out. When the user thread frees mid->resp_buf, server->smallbuf or server->bigbuf is left dangling; the demux thread reuses it for the next packet, resulting in a use-after-free. Combine both early-exit conditions and, when mid->multiRsp is already set, abort the pending transaction inline: set multiEnd, call dequeue_mid() with malformed=true, and return true so handle_mid() exits without touching mid->resp_buf or the server buffer pointers.
Title smb: client: fix UAF and buffer leak in cifs_check_trans2() for malformed secondary T2
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-11T19:45:31.048Z

Reserved: 2026-09-11T19:38:34.739Z

Link: CVE-2026-89637

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:49.370

Modified: 2026-09-11T20:19:49.370

Link: CVE-2026-89637

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-11T19:45:31Z

Links: CVE-2026-89637 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T01:45:07Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference