Every CVE Search/ Get API key

CVE-2026-48104

GHSL-2026-120: 7-Zip SquashFS BlockToNode uninitialized heap read

4.2 MediumFix available

7-Zip is a file archiver with a high compression ratio. Versions 9.18 through 26.00 contain an uninitialized heap read in the SquashFS archive handler caused by a sparsely populated index array. In the SquashFS handler, _blockToNode is allocated with capacity for every metadata block but populated only when an inode crosses a block boundary, so a crafted image with few inodes spanning many blocks leaves most slots holding raw heap contents (the underlying allocator does not zero-initialize POD storage). When OpenDir looks up an attacker-influenced blockIndex (derived from the RootInode superblock field), it reads two of these uninitialized slots and passes them as the left/right bounds of a binary search over _nodesPos, which dereferences the midpoint without bounds checking; if the resulting value happens to match the search key, the returned index is used to read a full node struct from _nodes whose fields feed further directory parsing, forming a chained OOB read primitive that is heap-layout-dependent and not reliably triggerable. The SquashFS handler is enabled by default in stock 7z.dll and the issue triggers during Open() with no interaction beyond opening the file; impact is denial of service from wild-pointer dereference and potential heap information disclosure, with no write primitive. Version 26.01 fixes the issue.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
Low

Exploit likelihood

0.18%Up 0.1 points since Jun 6, 2026
90%50%10%1%

What each source reports

CVE List Score used 4.2

GHSL-2026-120: 7-Zip SquashFS BlockToNode uninitialized heap read

7-Zip is a file archiver with a high compression ratio. Versions 9.18 through 26.00 contain an uninitialized heap read in the SquashFS archive handler caused by a sparsely populated index array. In the SquashFS handler, _blockToNode is allocated with capacity for every metadata block but populated only when an inode crosses a block boundary, so a crafted image with few inodes spanning many blocks leaves most slots holding raw heap contents (the underlying allocator does not zero-initialize POD storage). When OpenDir looks up an attacker-influenced blockIndex (derived from the RootInode superblock field), it reads two of these uninitialized slots and passes them as the left/right bounds of a binary search over _nodesPos, which dereferences the midpoint without bounds checking; if the resulting value happens to match the search key, the returned index is used to read a full node struct from _nodes whose fields feed further directory parsing, forming a chained OOB read primitive that is heap-layout-dependent and not reliably triggerable. The SquashFS handler is enabled by default in stock 7z.dll and the issue triggers during Open() with no interaction beyond opening the file; impact is denial of service from wild-pointer dereference and potential heap information disclosure, with no write primitive. Version 26.01 fixes the issue.

Record
CVE-2026-48104
CVSS 3.1
4.2 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L
Weakness
CWE-908, CWE-125
Updated
2026-11-02
EUVDEUVD-2026-34853 4.2

7-Zip is a file archiver with a high compression ratio. Versions 9.18 through 26.00 contain an uninitialized heap read in the SquashFS archive handler caused by a sparsely populated index array. In the SquashFS handler, _blockToNode is allocated with capacity for every metadata block but populated only when an inode crosses a block boundary, so a crafted image with few inodes spanning many blocks leaves most slots holding raw heap contents (the underlying allocator does not zero-initialize POD storage). When OpenDir looks up an attacker-influenced blockIndex (derived from the RootInode superblock field), it reads two of these uninitialized slots and passes them as the left/right bounds of a binary search over _nodesPos, which dereferences the midpoint without bounds checking; if the resulting value happens to match the search key, the returned index is used to read a full node struct from _nodes whose fields feed further directory parsing, forming a chained OOB read primitive that is heap-layout-dependent and not reliably triggerable. The SquashFS handler is enabled by default in stock 7z.dll and the issue triggers during Open() with no interaction beyond opening the file; impact is denial of service from wild-pointer dereference and potential heap information disclosure, with no write primitive. Version 26.01 fixes the issue.

Record
EUVD-2026-34853
CVSS 3.1
4.2 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L
Updated
2026-11-02
NVD 4.2

7-Zip is a file archiver with a high compression ratio. Versions 9.18 through 26.00 contain an uninitialized heap read in the SquashFS archive handler caused by a sparsely populated index array. In the SquashFS handler, _blockToNode is allocated with capacity for every metadata block but populated only when an inode crosses a block boundary, so a crafted image with few inodes spanning many blocks leaves most slots holding raw heap contents (the underlying allocator does not zero-initialize POD storage). When OpenDir looks up an attacker-influenced blockIndex (derived from the RootInode superblock field), it reads two of these uninitialized slots and passes them as the left/right bounds of a binary search over _nodesPos, which dereferences the midpoint without bounds checking; if the resulting value happens to match the search key, the returned index is used to read a full node struct from _nodes whose fields feed further directory parsing, forming a chained OOB read primitive that is heap-layout-dependent and not reliably triggerable. The SquashFS handler is enabled by default in stock 7z.dll and the issue triggers during Open() with no interaction beyond opening the file; impact is denial of service from wild-pointer dereference and potential heap information disclosure, with no write primitive. Version 26.01 fixes the issue.

Record
CVE-2026-48104
CVSS 3.1
4.2 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L
Weakness
CWE-125, CWE-908
Updated
2026-11-02
OSVALPINE-CVE-2026-48104 4.2

7-Zip is a file archiver with a high compression ratio. Versions 9.18 through 26.00 contain an uninitialized heap read in the SquashFS archive handler caused by a sparsely populated index array. In the SquashFS handler, _blockToNode is allocated with capacity for every metadata block but populated only when an inode crosses a block boundary, so a crafted image with few inodes spanning many blocks leaves most slots holding raw heap contents (the underlying allocator does not zero-initialize POD storage). When OpenDir looks up an attacker-influenced blockIndex (derived from the RootInode superblock field), it reads two of these uninitialized slots and passes them as the left/right bounds of a binary search over _nodesPos, which dereferences the midpoint without bounds checking; if the resulting value happens to match the search key, the returned index is used to read a full node struct from _nodes whose fields feed further directory parsing, forming a chained OOB read primitive that is heap-layout-dependent and not reliably triggerable. The SquashFS handler is enabled by default in stock 7z.dll and the issue triggers during Open() with no interaction beyond opening the file; impact is denial of service from wild-pointer dereference and potential heap information disclosure, with no write primitive. Version 26.01 fixes the issue.

Record
ALPINE-CVE-2026-48104
CVSS 3.1
4.2 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L
Updated
2026-11-02
OSVDEBIAN-CVE-2026-48104 4.2

7-Zip is a file archiver with a high compression ratio. Versions 9.18 through 26.00 contain an uninitialized heap read in the SquashFS archive handler caused by a sparsely populated index array. In the SquashFS handler, _blockToNode is allocated with capacity for every metadata block but populated only when an inode crosses a block boundary, so a crafted image with few inodes spanning many blocks leaves most slots holding raw heap contents (the underlying allocator does not zero-initialize POD storage). When OpenDir looks up an attacker-influenced blockIndex (derived from the RootInode superblock field), it reads two of these uninitialized slots and passes them as the left/right bounds of a binary search over _nodesPos, which dereferences the midpoint without bounds checking; if the resulting value happens to match the search key, the returned index is used to read a full node struct from _nodes whose fields feed further directory parsing, forming a chained OOB read primitive that is heap-layout-dependent and not reliably triggerable. The SquashFS handler is enabled by default in stock 7z.dll and the issue triggers during Open() with no interaction beyond opening the file; impact is denial of service from wild-pointer dereference and potential heap information disclosure, with no write primitive. Version 26.01 fixes the issue.

Record
DEBIAN-CVE-2026-48104
CVSS 3.1
4.2 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2026-48104 4.2

7-Zip is a file archiver with a high compression ratio. Versions 9.18 through 26.00 contain an uninitialized heap read in the SquashFS archive handler caused by a sparsely populated index array. In the SquashFS handler, _blockToNode is allocated with capacity for every metadata block but populated only when an inode crosses a block boundary, so a crafted image with few inodes spanning many blocks leaves most slots holding raw heap contents (the underlying allocator does not zero-initialize POD storage). When OpenDir looks up an attacker-influenced blockIndex (derived from the RootInode superblock field), it reads two of these uninitialized slots and passes them as the left/right bounds of a binary search over _nodesPos, which dereferences the midpoint without bounds checking; if the resulting value happens to match the search key, the returned index is used to read a full node struct from _nodes whose fields feed further directory parsing, forming a chained OOB read primitive that is heap-layout-dependent and not reliably triggerable. The SquashFS handler is enabled by default in stock 7z.dll and the issue triggers during Open() with no interaction beyond opening the file; impact is denial of service from wild-pointer dereference and potential heap information disclosure, with no write primitive. Version 26.01 fixes the issue.

Record
UBUNTU-CVE-2026-48104
CVSS 3.1
4.2 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L
Updated
2026-11-02
Show 4 moreShow less
OSVopenSUSE-SU-2026:11502-1 No score

7zip-26.02-2.1 on GA media

These are all security issues fixed in the 7zip-26.02-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11502-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:21038-1 No score

Security update for 7zip

This update for 7zip fixes the following issues

Update to 26.01:

  • CVE-2026-48092: Information disclosure in 32-bit builds due to heap memory disclosure (bsc#1267858).
  • CVE-2026-48095: Heap buffer overflow via NTFS compressed stream buffer under-allocation (bsc#1267421).
  • CVE-2026-48101: Information Disclosure via uninitialized memory in UEFI capsule parser (bsc#1267859).
  • CVE-2026-48102: Information disclosure and denial of service via crafted UDF image (bsc#1267860).
  • CVE-2026-48103: off-by-one heap out-of-bounds read (bsc#1267861).
  • CVE-2026-48104: Uninitialized heap read in SquashFS archive handler (bsc#1267862).
  • CVE-2026-48111: off-by-one out-of-bounds read in ParseDepedencyExpression function (bsc#1267863).
  • CVE-2026-48112: heap out-of-bounds read in BSD SYMDEF parser (bsc#1267864).

Changes:

  • linux version of 7-Zip can use huge pages (2 MB pages). It can increase compression speed for 10% for 7z/xz/LZMA/LZMA2 compression.
  • new -spo[d|c|r] switch specifies the path generation mode for the output directory for archive extraction. The output directory path is generated from the path specified in the -o{dir_path} switch and the name of the archive being unpacked. -spod : for Linux/Posix/macOS: -o{dir_path} specifies the direct path to the output directory. The asterisk () character in {dir_path} will not be replaced by the archive name. -spoc : 7-Zip will concatenate the path specified in -o{dir_path} with the archive name to form the final path to the output directory. -spor : 7-Zip will replace asterisk () character in the path specified in the -o{dir_path} with the archive name. This is the default option.
  • some bugs were fixed.
  • Update to 26.00:
  • improved code for ZIP, CPIO, RAR, UFD, QCOW, Compound.
  • 7-Zip File Manager: improved sorting order of the file list. It uses file name as secondary sorting key.:
  • 7-Zip File Manager: improved Benchmark to support systems with more than 64 CPU threads.
  • bug fixed: 7-Zip could not correctly extract TAR archives containing sparse files
Record
openSUSE-SU-2026:21038-1
Updated
2026-11-02
OSVSUSE-SU-2026:22347-1 No score

Security update for 7zip

This update for 7zip fixes the following issues

Update to 26.01:

  • CVE-2026-48092: Information disclosure in 32-bit builds due to heap memory disclosure (bsc#1267858).
  • CVE-2026-48095: Heap buffer overflow via NTFS compressed stream buffer under-allocation (bsc#1267421).
  • CVE-2026-48101: Information Disclosure via uninitialized memory in UEFI capsule parser (bsc#1267859).
  • CVE-2026-48102: Information disclosure and denial of service via crafted UDF image (bsc#1267860).
  • CVE-2026-48103: off-by-one heap out-of-bounds read (bsc#1267861).
  • CVE-2026-48104: Uninitialized heap read in SquashFS archive handler (bsc#1267862).
  • CVE-2026-48111: off-by-one out-of-bounds read in ParseDepedencyExpression function (bsc#1267863).
  • CVE-2026-48112: heap out-of-bounds read in BSD SYMDEF parser (bsc#1267864).

Changes:

  • linux version of 7-Zip can use huge pages (2 MB pages). It can increase compression speed for 10% for 7z/xz/LZMA/LZMA2 compression.
  • new -spo[d|c|r] switch specifies the path generation mode for the output directory for archive extraction. The output directory path is generated from the path specified in the -o{dir_path} switch and the name of the archive being unpacked. -spod : for Linux/Posix/macOS: -o{dir_path} specifies the direct path to the output directory. The asterisk () character in {dir_path} will not be replaced by the archive name. -spoc : 7-Zip will concatenate the path specified in -o{dir_path} with the archive name to form the final path to the output directory. -spor : 7-Zip will replace asterisk () character in the path specified in the -o{dir_path} with the archive name. This is the default option.
  • some bugs were fixed.
  • Update to 26.00:
  • improved code for ZIP, CPIO, RAR, UFD, QCOW, Compound.
  • 7-Zip File Manager: improved sorting order of the file list. It uses file name as secondary sorting key.:
  • 7-Zip File Manager: improved Benchmark to support systems with more than 64 CPU threads.
  • bug fixed: 7-Zip could not correctly extract TAR archives containing sparse files
Record
SUSE-SU-2026:22347-1
Updated
2026-11-02
OSVSUSE-SU-2026:2696-1 No score

Security update for 7zip

This update for 7zip fixes the following issues

Update to 26.01:

  • CVE-2026-48092: Information disclosure in 32-bit builds due to heap memory disclosure (bsc#1267858).
  • CVE-2026-48095: Heap buffer overflow via NTFS compressed stream buffer under-allocation (bsc#1267421).
  • CVE-2026-48101: Information Disclosure via uninitialized memory in UEFI capsule parser (bsc#1267859).
  • CVE-2026-48102: Information disclosure and denial of service via crafted UDF image (bsc#1267860).
  • CVE-2026-48103: off-by-one heap out-of-bounds read (bsc#1267861).
  • CVE-2026-48104: Uninitialized heap read in SquashFS archive handler (bsc#1267862).
  • CVE-2026-48111: off-by-one out-of-bounds read in ParseDepedencyExpression function (bsc#1267863).
  • CVE-2026-48112: heap out-of-bounds read in BSD SYMDEF parser (bsc#1267864).

Changes:

  • linux version of 7-Zip can use huge pages (2 MB pages). It can increase compression speed for 10% for 7z/xz/LZMA/LZMA2 compression.
  • new -spo[d|c|r] switch specifies the path generation mode for the output directory for archive extraction. The output directory path is generated from the path specified in the -o{dir_path} switch and the name of the archive being unpacked. -spod : for Linux/Posix/macOS: -o{dir_path} specifies the direct path to the output directory. The asterisk () character in {dir_path} will not be replaced by the archive name. -spoc : 7-Zip will concatenate the path specified in -o{dir_path} with the archive name to form the final path to the output directory. -spor : 7-Zip will replace asterisk () character in the path specified in the -o{dir_path} with the archive name. This is the default option.
  • improved code for ZIP, CPIO, RAR, UFD, QCOW, Compound.
  • 7-Zip File Manager: improved sorting order of the file list. It uses file name as secondary sorting key.:
  • 7-Zip File Manager: improved Benchmark to support systems with more than 64 CPU threads.
  • bug fixed: 7-Zip could not correctly extract TAR archives containing sparse files
Record
SUSE-SU-2026:2696-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
7zip
Alpine:v3.24
before 26.01-r0
26.01-r0
7zip
Debian:12
before 22.01+really26.01+dfsg-0+deb12u1, plus listed versions
22.01+dfsg-10~exp122.01+dfsg-822.01+dfsg-8+deb12u122.01+dfsg-922.01+really25.01+dfsg-0+deb12u1
22.01+really26.01+dfsg-0+deb12u1
7zip
Debian:13
All versions, plus listed versions
24.09+dfsg-825.00+dfsg-125.01+dfsg-125.01+dfsg-1~deb13u125.01+dfsg-1~deb13u1~bpo12+1
Show 22 moreShow less
25.01+dfsg-1~deb13u225.01+dfsg-225.01+dfsg-325.01+dfsg-425.01+dfsg-526.00+dfsg-126.00+dfsg-226.00+dfsg-326.00+dfsg-426.00+dfsg-526.00+dfsg1-126.00+dfsg1-226.00+dfsg1-326.01+dfsg-126.01+dfsg-226.01+dfsg-326.02+dfsg-126.02+dfsg-226.02+dfsg-326.03+dfsg-126.03+dfsg-226.03+dfsg-3
None known
7zip
Debian:14
before 26.01+dfsg-1, plus listed versions
24.09+dfsg-825.00+dfsg-125.01+dfsg-125.01+dfsg-1~deb13u125.01+dfsg-1~deb13u1~bpo12+1
Show 13 moreShow less
25.01+dfsg-1~deb13u225.01+dfsg-225.01+dfsg-325.01+dfsg-425.01+dfsg-526.00+dfsg-126.00+dfsg-226.00+dfsg-326.00+dfsg-426.00+dfsg-526.00+dfsg1-126.00+dfsg1-226.00+dfsg1-3
26.01+dfsg-1
p7zip
Debian:12
before 16.02+really26.01+dfsg-0+deb12u1, plus listed versions
16.02+dfsg-816.02+really25.01+dfsg-0+deb12u1
16.02+really26.01+dfsg-0+deb12u1
p7zip
Debian:13
before 16.02+transitional.1
16.02+transitional.1
7zip
SUSE:Linux Enterprise Server 16.0
From an advisory covering 8 CVEs
before 26.01-160000.1.1
26.01-160000.1.1
7zip
SUSE:Linux Enterprise Server for SAP applications 16.0
From an advisory covering 8 CVEs
before 26.01-160000.1.1
26.01-160000.1.1
7zip
SUSE:Linux Enterprise Module for Basesystem 15 SP7
From an advisory covering 8 CVEs
before 26.01-150400.9.6.1
26.01-150400.9.6.1
7zip
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS
From an advisory covering 8 CVEs
before 26.01-150400.9.6.1
26.01-150400.9.6.1
Show 21 moreShow less
Affected packages
PackageAffectedFixed
7zip
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS
From an advisory covering 8 CVEs
before 26.01-150400.9.6.1
26.01-150400.9.6.1
7zip
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS
From an advisory covering 8 CVEs
before 26.01-150400.9.6.1
26.01-150400.9.6.1
7zip
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS
From an advisory covering 8 CVEs
before 26.01-150400.9.6.1
26.01-150400.9.6.1
7zip
SUSE:Linux Enterprise Server 15 SP4-LTSS
From an advisory covering 8 CVEs
before 26.01-150400.9.6.1
26.01-150400.9.6.1
7zip
SUSE:Linux Enterprise Server 15 SP5-LTSS
From an advisory covering 8 CVEs
before 26.01-150400.9.6.1
26.01-150400.9.6.1
7zip
SUSE:Linux Enterprise Server 15 SP6-LTSS
From an advisory covering 8 CVEs
before 26.01-150400.9.6.1
26.01-150400.9.6.1
7zip
SUSE:Linux Enterprise Server for SAP Applications 15 SP4
From an advisory covering 8 CVEs
before 26.01-150400.9.6.1
26.01-150400.9.6.1
7zip
SUSE:Linux Enterprise Server for SAP Applications 15 SP5
From an advisory covering 8 CVEs
before 26.01-150400.9.6.1
26.01-150400.9.6.1
7zip
SUSE:Linux Enterprise Server for SAP Applications 15 SP6
From an advisory covering 8 CVEs
before 26.01-150400.9.6.1
26.01-150400.9.6.1
p7zip
Ubuntu:14.04:LTS
All versions, plus listed versions
9.20.1~dfsg.1-49.20.1~dfsg.1-4+deb7u1build0.14.04.19.20.1~dfsg.1-4+deb7u2build0.14.04.19.20.1~dfsg.1-4+deb7u3build0.14.04.1
None known
p7zip
Ubuntu:16.04:LTS
All versions, plus listed versions
9.20.1~dfsg.1-4.29.20.1~dfsg.1-4.2ubuntu0.1
None known
p7zip
Ubuntu:18.04:LTS
All versions, plus listed versions
16.02+dfsg-416.02+dfsg-516.02+dfsg-6
None known
p7zip
Ubuntu:20.04:LTS
All versions, plus listed versions
16.02+dfsg-716.02+dfsg-7build1
None known
p7zip
Ubuntu:22.04:LTS
All versions, plus listed versions
16.02+dfsg-8
None known
7zip
Ubuntu:Pro:22.04:LTS
All versions, plus listed versions
21.03~beta+dfsg-621.04~beta+dfsg-121.06+dfsg-121.07+dfsg-121.07+dfsg-221.07+dfsg-321.07+dfsg-421.07+dfsg-4ubuntu0.1~esm1
None known
7zip
Ubuntu:Pro:24.04:LTS
All versions, plus listed versions
23.01+dfsg-323.01+dfsg-723.01+dfsg-823.01+dfsg-1123.01+dfsg-11ubuntu0.1~esm1
None known
7zip
Ubuntu:25.10
All versions, plus listed versions
24.09+dfsg-724.09+dfsg-825.00+dfsg-125.01+dfsg-125.01+dfsg-2
None known
7zip
Ubuntu:26.10
All versions, plus listed versions
26.00+dfsg-126.01+dfsg-226.01+dfsg-326.02+dfsg-126.02+dfsg-2
None known
7zip
Ubuntu:26.04:LTS
All versions, plus listed versions
25.01+dfsg-225.01+dfsg-325.01+dfsg-425.01+dfsg-526.00+dfsg-1
None known
7zip
openSUSE:Tumbleweed
From an advisory covering 7 CVEs
before 26.02-2.1
26.02-2.1
7zip
openSUSE:Leap 16.0
From an advisory covering 8 CVEs
before 26.01-160000.1.1
26.01-160000.1.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-48104 is a medium vulnerability (CVSS 4.2) in 7-zip, published June 5, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.18%, the 7th percentile. Fixed in 7zip 26.01-r0.

References

Show 17 moreShow less
MoveEnter Open