---
id: CVE-2026-31478
title: >-
  ksmbd: replace hardcoded hdr2_len with offsetof() in
  smb2_calc_max_out_buf_len()
summary: >-
  In the Linux kernel, the following vulnerability has been resolved:


  ksmbd: replace hardcoded hdr2_len with offsetof() in
  smb2_calc_max_out_buf_len()


  After this commit (e2b76ab8b5c9 "ksmbd: add support for read compound"),

  response buff…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= f2283680a80571ca82d710bc6ecd8f8beac67d63 <
    70b4c414889492c522b6e4331562360f49be2361
  - >-
    Linux >= 9f297df20d93411c0b4ddad7f88ba04a7cd36e77 <
    9a7166f0ef8cbb7bb48dd05e2471d995566003f5
  - >-
    Linux >= e2b76ab8b5c9327ab2dae6da05d0752eb2f4771d <
    c3a89e3ec1ccf64fa6a34e391e1581ebbcba8683
  - >-
    Linux >= e2b76ab8b5c9327ab2dae6da05d0752eb2f4771d <
    6aef1765d6807e0f027cd87f6ac973eb0879a46d
  - >-
    Linux >= e2b76ab8b5c9327ab2dae6da05d0752eb2f4771d <
    80824c7e527b70cf9039534e60aff592e8f209d1
  - >-
    Linux >= e2b76ab8b5c9327ab2dae6da05d0752eb2f4771d <
    4cb537ae4f37d7d0f617815ed4bed7173fb50861
  - >-
    Linux >= e2b76ab8b5c9327ab2dae6da05d0752eb2f4771d <
    0e55f63dd08f09651d39e1b709a91705a8a0ddcb
  - Linux >= 5.15.145 < 5.15.203
  - Linux >= 6.1.71 < 6.1.168
  - Linux 6.6
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-10-16T15:09:58.409155Z'
published: '2026-04-22'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T15:20:12.684Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-31478'
references:
  - url: 'https://git.kernel.org/stable/c/70b4c414889492c522b6e4331562360f49be2361'
  - url: 'https://git.kernel.org/stable/c/9a7166f0ef8cbb7bb48dd05e2471d995566003f5'
  - url: 'https://git.kernel.org/stable/c/c3a89e3ec1ccf64fa6a34e391e1581ebbcba8683'
  - url: 'https://git.kernel.org/stable/c/6aef1765d6807e0f027cd87f6ac973eb0879a46d'
  - url: 'https://git.kernel.org/stable/c/80824c7e527b70cf9039534e60aff592e8f209d1'
  - url: 'https://git.kernel.org/stable/c/4cb537ae4f37d7d0f617815ed4bed7173fb50861'
  - url: 'https://git.kernel.org/stable/c/0e55f63dd08f09651d39e1b709a91705a8a0ddcb'
tags:
  - cve.org
epss: 0.00738
epssPercentile: 0.53607
ingestedAt: '2026-10-16T17:24:46.656Z'
---

## Overview

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

ksmbd: replace hardcoded hdr2_len with offsetof() in smb2_calc_max_out_buf_len()

After this commit (e2b76ab8b5c9 "ksmbd: add support for read compound"),
response buffer management was changed to use dynamic iov array.
In the new design, smb2_calc_max_out_buf_len() expects the second
argument (hdr2_len) to be the offset of ->Buffer field in the
response structure, not a hardcoded magic number.
Fix the remaining call sites to use the correct offsetof() value.

## Affected

- `Linux >= f2283680a80571ca82d710bc6ecd8f8beac67d63 < 70b4c414889492c522b6e4331562360f49be2361`
- `Linux >= 9f297df20d93411c0b4ddad7f88ba04a7cd36e77 < 9a7166f0ef8cbb7bb48dd05e2471d995566003f5`
- `Linux >= e2b76ab8b5c9327ab2dae6da05d0752eb2f4771d < c3a89e3ec1ccf64fa6a34e391e1581ebbcba8683`
- `Linux >= e2b76ab8b5c9327ab2dae6da05d0752eb2f4771d < 6aef1765d6807e0f027cd87f6ac973eb0879a46d`
- `Linux >= e2b76ab8b5c9327ab2dae6da05d0752eb2f4771d < 80824c7e527b70cf9039534e60aff592e8f209d1`
- `Linux >= e2b76ab8b5c9327ab2dae6da05d0752eb2f4771d < 4cb537ae4f37d7d0f617815ed4bed7173fb50861`
- `Linux >= e2b76ab8b5c9327ab2dae6da05d0752eb2f4771d < 0e55f63dd08f09651d39e1b709a91705a8a0ddcb`
- `Linux >= 5.15.145 < 5.15.203`
- `Linux >= 6.1.71 < 6.1.168`
- `Linux 6.6`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
