---
id: CVE-2026-89630
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  smb: client: restore the data_offset bound in is_valid_oplock_break()

  Commit 83bfbd0bb902 ("cifs: Remove the RFC1002 header from smb_hdr")
  changed the quantity this bo…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  smb: client: restore the data_offset bound in is_valid_oplock_break()

  Commit 83bfbd0bb902 ("cifs: Remove the RFC1002 header from smb_hdr")
  changed the quantity this bo…
severity: critical
cvss: 9.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H'
cwe:
  - CWE-125
vendor: Red Hat
product: Red Hat Enterprise Linux 9
affected:
  - enterprise_linux 10
  - enterprise_linux 9
  - openshift_container_platform 4
published: '2026-09-11'
updated: '2026-10-11'
sourceUpdated: '2026-10-11T14:17:07.743'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89630'
references:
  - url: 'https://git.kernel.org/stable/c/5b16a1967a01ad4496a7206a87c3eb16f1df2b05'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ba22f575de9deeae4ae0859ca4315a7698226237'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89630.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89630'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2532051'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-89630'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89630'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89630.mbox
tags:
  - nvd
  - csaf
  - vex
  - red-hat
  - cve.org
  - score-dispute
epss: 0.00539
epssPercentile: 0.4515
scores:
  nvd: 9.1
  vendor: 7
  cna: 9.1
ingestedAt: '2026-09-14T15:23:07.474Z'
---

## Overview

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

smb: client: restore the data_offset bound in is_valid_oplock_break()

Commit 83bfbd0bb902 ("cifs: Remove the RFC1002 header from smb_hdr")
changed the quantity this bound is measured against.  It used to be
srv->total_read minus the 4-byte RFC1002 preamble that total_read then
included, so it was the SMB message length.  The same commit stopped
counting the preamble, and the mechanical substitution to
srv->total_read - srv->pdu_size left an expression that is identically
zero: standard_receive3() reads MID_HEADER_SIZE() bytes and then exactly
pdu_length - MID_HEADER_SIZE() more, adding both to total_read.

len is therefore 0, the subtraction below it wraps, and no __u32
DataOffset can exceed the result, so the check from commit 097f5863b1a0
("cifs: read overflow in is_valid_oplock_break()") no longer rejects
anything.  Use total_read, which is now the message length on its own.

## Remediation

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

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · no fix planned: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · updated 2026-09-14 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89630.json)
