From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-cve-announce@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@kernel.org>
Subject: CVE-2026-98636: squashfs: Add dictionary size range check to prevent shift-out-of-bounds
Date: Sun, 18 Oct 2026 17:18:20 +0200 [thread overview]
Message-ID: <2026101845-CVE-2026-98636-46cb@gregkh> (raw)
From: Greg Kroah-Hartman <gregkh@kernel.org>
Description
===========
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.
The Linux kernel CVE team has assigned CVE-2026-98636 to this issue.
Affected and fixed versions
===========================
Issue introduced in 2.6.39 with commit ff750311d30acc9564ef577050794953eee59f01 and fixed in 5.10.271 with commit b02948a23455f8190a53887b2d2c13ae1d360cea
Issue introduced in 2.6.39 with commit ff750311d30acc9564ef577050794953eee59f01 and fixed in 5.15.222 with commit 9d9c5c218ea356a1d88765214ad2919605280ab1
Issue introduced in 2.6.39 with commit ff750311d30acc9564ef577050794953eee59f01 and fixed in 6.1.189 with commit 7a1c293e7aa17f1afaee0684e0e931fe23a5a6b1
Issue introduced in 2.6.39 with commit ff750311d30acc9564ef577050794953eee59f01 and fixed in 6.6.158 with commit c68e0068a236f9a7dfc19720bdf11e5d80a85089
Issue introduced in 2.6.39 with commit ff750311d30acc9564ef577050794953eee59f01 and fixed in 6.12.112 with commit 88c673a0bd233df44ca0020da82f4fd3876de27a
Issue introduced in 2.6.39 with commit ff750311d30acc9564ef577050794953eee59f01 and fixed in 6.18.55 with commit 0cb85377daaefb4ce5ce72975f2deb27ee0e0cad
Issue introduced in 2.6.39 with commit ff750311d30acc9564ef577050794953eee59f01 and fixed in 7.2.9 with commit e1ca4e3a380ef3e8f46ce006f1146392e3f32c98
Issue introduced in 2.6.39 with commit ff750311d30acc9564ef577050794953eee59f01 and fixed in 7.3-rc5 with commit 1f7745fb3580152ca902ef181b605f33cabfb1d0
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2026-98636
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
fs/squashfs/xz_wrapper.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/b02948a23455f8190a53887b2d2c13ae1d360cea
https://git.kernel.org/stable/c/9d9c5c218ea356a1d88765214ad2919605280ab1
https://git.kernel.org/stable/c/7a1c293e7aa17f1afaee0684e0e931fe23a5a6b1
https://git.kernel.org/stable/c/c68e0068a236f9a7dfc19720bdf11e5d80a85089
https://git.kernel.org/stable/c/88c673a0bd233df44ca0020da82f4fd3876de27a
https://git.kernel.org/stable/c/0cb85377daaefb4ce5ce72975f2deb27ee0e0cad
https://git.kernel.org/stable/c/e1ca4e3a380ef3e8f46ce006f1146392e3f32c98
https://git.kernel.org/stable/c/1f7745fb3580152ca902ef181b605f33cabfb1d0
reply other threads:[~2026-10-18 15:36 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2026101845-CVE-2026-98636-46cb@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=cve@kernel.org \
--cc=gregkh@kernel.org \
--cc=linux-cve-announce@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.