# CVE-2026-48095: GHSL-2026-140_7-Zip: 7-Zip has a heap buffer overflow via NTFS compressed stream buffer under-allocation

> A heap buffer overflow in 7-Zip's NTFS handler allows attackers to execute arbitrary code or crash the application via a crafted image file.

- **Severity:** High 8.8 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 5 Jun 2026
- **Updated:** 8 Jun 2026
- **Also known as:** ALPINE-CVE-2026-48095, DEBIAN-CVE-2026-48095, ECHO-4f58-a58d-8e80, MGASA-2026-0238, MINI-38ph-r5x6-2gv7, UBUNTU-CVE-2026-48095, openSUSE-SU-2026:10942-1

## What is CVE-2026-48095?

CVE-2026-48095 is a high-severity memory corruption vulnerability in mcmilk 7-Zip, published on 5 Jun 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

### Official description

7-Zip is a file archiver with a high compression ratio. Versions 26.00 and prior contain a heap buffer overflow vulnerability caused by an under-allocation in the NTFS compressed stream buffer (GetCuSize shift UB), potentially allowing attackers to cause arbitrary code execution or application crashes. CInStream::GetCuSize() in the NTFS handler computes the compression-unit buffer size as (UInt32)1 << (BlockSizeLog + CompressionUnit), and a crafted image with ClusterSizeLog >= 28 and CompressionUnit == 4 drives the exponent to 32, which is undefined behavior and collapses on x86/x64 so _inBuf is allocated as 1 byte. ReadStream_FALSE then writes up to 256 MB of attacker-controlled data into that 1-byte buffer in 64 KB iterations, and because the CInStream object sits only 304 bytes after _inBuf, its vtable pointer is overwritten and the next dispatched call achieves a vtable hijack. On 32-bit builds the overflow is unconditionally reached; on 64-bit it requires the parallel 8 GB _outBuf allocation to succeed, otherwise failing closed to denial of service. The NTFS handler is enabled by default in stock 7z.dll and, via signature-based fallback matching "NTFS    " at offset 3, will open a crafted image regardless of file extension during extraction or testing. Version 26.01 fixes the issue.

Weakness: CWE-787 (Out-of-bounds Write), CWE-190 (Integer Overflow or Wraparound)

## Which versions are affected by CVE-2026-48095?

It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `7zip` | openSUSE:Tumbleweed | All versions | 26.01-1.1 |

Products: 7-Zip 7-Zip.

## How do I fix CVE-2026-48095?

Upgrade to a fixed version.

## Is CVE-2026-48095 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-48095 exists.

Public exploit code:

- CVE-2026-48095 (github_poc): https://github.com/HORKimhab/CVE-2026-48095

## Other vulnerabilities in mcmilk 7-Zip

- [CVE-2025-0411](https://insights.sbomify.com/CVE-2025-0411/): 7-Zip Mark of the Web Bypass (high 7.0, exploited in the wild)
- [CVE-2008-6536](https://insights.sbomify.com/CVE-2008-6536/): Other in n/a (critical 10.0)
- [CVE-2018-10172](https://insights.sbomify.com/CVE-2018-10172/): Privilege escalation in n/a (high 8.8)
- [CVE-2016-2335](https://insights.sbomify.com/CVE-2016-2335/): Memory corruption in n/a (high 8.8)
- [CVE-2024-11477](https://insights.sbomify.com/CVE-2024-11477/): 7-Zip Zstandard Decompression Integer Underflow Remote Code Execution Vulnerability (high 7.8)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-48095 and fix it if it is affected.

What it is: CVE-2026-48095 is a high-severity memory corruption vulnerability in mcmilk 7-Zip, published on 5 Jun 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-48095 exists.

Affected product: mcmilk 7-Zip. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-48095/ (Markdown: https://insights.sbomify.com/CVE-2026-48095/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-48095
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-48095
- OSV: https://osv.dev/vulnerability/CVE-2026-48095

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-48095/
Summaries are generated and may contain mistakes; the official description above is the record.
