---
id: CVE-2026-98636
title: 'squashfs: Add dictionary size range check to prevent shift-out-of-bounds'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  squashfs: Add dictionary size range check to prevent shift-out-of-bounds

  When an abnormal SquashFS image (COMP_OPTS flag is 1 but dictionary size
  is 0) is mounted, and…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= ff750311d30acc9564ef577050794953eee59f01 <
    b02948a23455f8190a53887b2d2c13ae1d360cea
  - >-
    Linux >= ff750311d30acc9564ef577050794953eee59f01 <
    9d9c5c218ea356a1d88765214ad2919605280ab1
  - >-
    Linux >= ff750311d30acc9564ef577050794953eee59f01 <
    7a1c293e7aa17f1afaee0684e0e931fe23a5a6b1
  - >-
    Linux >= ff750311d30acc9564ef577050794953eee59f01 <
    c68e0068a236f9a7dfc19720bdf11e5d80a85089
  - >-
    Linux >= ff750311d30acc9564ef577050794953eee59f01 <
    88c673a0bd233df44ca0020da82f4fd3876de27a
  - >-
    Linux >= ff750311d30acc9564ef577050794953eee59f01 <
    0cb85377daaefb4ce5ce72975f2deb27ee0e0cad
  - >-
    Linux >= ff750311d30acc9564ef577050794953eee59f01 <
    e1ca4e3a380ef3e8f46ce006f1146392e3f32c98
  - >-
    Linux >= ff750311d30acc9564ef577050794953eee59f01 <
    1f7745fb3580152ca902ef181b605f33cabfb1d0
  - Linux 2.6.39
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:20:07.184Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98636'
references:
  - url: 'https://git.kernel.org/stable/c/b02948a23455f8190a53887b2d2c13ae1d360cea'
  - url: 'https://git.kernel.org/stable/c/9d9c5c218ea356a1d88765214ad2919605280ab1'
  - url: 'https://git.kernel.org/stable/c/7a1c293e7aa17f1afaee0684e0e931fe23a5a6b1'
  - url: 'https://git.kernel.org/stable/c/c68e0068a236f9a7dfc19720bdf11e5d80a85089'
  - url: 'https://git.kernel.org/stable/c/88c673a0bd233df44ca0020da82f4fd3876de27a'
  - url: 'https://git.kernel.org/stable/c/0cb85377daaefb4ce5ce72975f2deb27ee0e0cad'
  - url: 'https://git.kernel.org/stable/c/e1ca4e3a380ef3e8f46ce006f1146392e3f32c98'
  - url: 'https://git.kernel.org/stable/c/1f7745fb3580152ca902ef181b605f33cabfb1d0'
tags:
  - cve.org
ingestedAt: '2026-10-18T15:45:12.230Z'
---

## Overview

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

squashfs: Add dictionary size range check to prevent shift-out-of-bounds

When an abnormal SquashFS image (COMP_OPTS flag is 1 but dictionary size
is 0) is mounted, and performs shift operations using dictionarysize, the
shift exponent is -1, causing a shift-out-of-bounds.

Detail as below:
squashfs_comp_opts(msblk, buffer, length)
  squashfs_xz_comp_opts()
    if (comp_opts)
      n = ffs(opts->dict_size) - 1;<----opts->dict_size=0, n=-1
      if (opts->dict_size != (1 << n) && opts->dict_size !=
	  	(1 << n) + (1 << (n + 1))) <----shift-out-of-bounds

Fix it by adding a dictionary size range check before the shift operation.

## Affected

- `Linux >= ff750311d30acc9564ef577050794953eee59f01 < b02948a23455f8190a53887b2d2c13ae1d360cea`
- `Linux >= ff750311d30acc9564ef577050794953eee59f01 < 9d9c5c218ea356a1d88765214ad2919605280ab1`
- `Linux >= ff750311d30acc9564ef577050794953eee59f01 < 7a1c293e7aa17f1afaee0684e0e931fe23a5a6b1`
- `Linux >= ff750311d30acc9564ef577050794953eee59f01 < c68e0068a236f9a7dfc19720bdf11e5d80a85089`
- `Linux >= ff750311d30acc9564ef577050794953eee59f01 < 88c673a0bd233df44ca0020da82f4fd3876de27a`
- `Linux >= ff750311d30acc9564ef577050794953eee59f01 < 0cb85377daaefb4ce5ce72975f2deb27ee0e0cad`
- `Linux >= ff750311d30acc9564ef577050794953eee59f01 < e1ca4e3a380ef3e8f46ce006f1146392e3f32c98`
- `Linux >= ff750311d30acc9564ef577050794953eee59f01 < 1f7745fb3580152ca902ef181b605f33cabfb1d0`
- `Linux 2.6.39`

## Remediation

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