Skip to main content

libmspack EUVDEUVD-2026-101230

| CVE-2026-110602 MEDIUM
Access of Uninitialized Pointer (CWE-824)
2026-10-14 VulnCheck GHSA-5m37-fqj8-q94j
5.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Deliver crafted KWAJ file to scanner/app
  2. Exploit
    Trigger header read error in kwajd_read_headers
  3. Execution
    Free uninitialized filename/extra pointers
  4. Impact
    Corrupt heap or crash process

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Uninitialized pointer prevention
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires that an application linked against libmspack (≤0.11alpha) invokes kwajd_open()/the KWAJ decompressor on attacker-supplied input, and that the attacker provides a malformed KWAJ file (truncated, zero-length, or wrong signature) that forces an early error return in kwajd_read_headers() before filename/extra are initialized. Limiting factors: exploitation is local/file-delivery and needs the application to actually process the file (UI:P) using the default mspack_system free(); the reliable outcome is a crash, and the arbitrary-free escalation is conditional on the uninitialized stack values (AT:P) being attacker-influenceable, which is not guaranteed across compilers/platforms. KWAJ is a less common format, so only code paths that invoke the KWAJ decompressor are affected.

Impact

This is a moderate, not top-priority, issue. The authoritative CVSS 4.0 vector (AV:L/AC:L/AT:P/PR:N/UI:P, VC:N/VI:H/VA:H) describes a locally-reached, file-processing flaw that requires passive user/application interaction (feeding a crafted KWAJ file to a program linked against libmspack) and has no confidentiality impact. The score of 5.8 and CWE-824 (access of uninitialized pointer) align with the description: the primary, reliable outcome is a crash/DoS, while the 'arbitrary-free memory corruption primitive' is a potential-but-conditional escalation (reflected by AT:P - it depends on the uninitialized stack value being attacker-influenceable or non-NULL). Exploitation status: no public exploit identified as a weaponized tool, but reporter-supplied example trigger files (empty.kwj, blank.kwj) and a public technical write-up exist, so a crash PoC is effectively in the open - treat as 'publicly available exploit code exists.' KEV: not listed (no confirmed active exploitation). EPSS: not provided in the input, so real-world exploitation probability cannot be quantified - do NOT assume widespread exploitation. The signals are internally consistent (local vector + user interaction + DoS-leaning impact), so there is no conflict to flag, but note that libmspack is frequently embedded in antivirus/file scanners that auto-process untrusted input, which can raise effective exposure above a naive 'local' reading.

Exploit ScenarioDerived

An attacker emails or uploads a truncated, empty, or wrong-signature KWAJ file to a service that uses libmspack (e.g., an antivirus scanner, cabextract, or archive handler). When the application calls kwajd_open() and the header read fails, kwajd_close() frees the uninitialized filename and extra pointers, crashing the process or corrupting memory. Reporter-supplied trigger files and a public write-up make reproduction trivial, though no weaponized code-execution exploit is confirmed.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 14, 2026

Processing a malformed KWAJ archive with libmspack through 0.11alpha can free uninitialized heap pointers, crashing the host application and potentially providing an arbitrary-free memory corruption primitive. The flaw is unauthenticated but local/file-delivery in nature: an application linked against libmspack must invoke the KWAJ decompressor (kwajd_open) on attacker-supplied input, and the attacker must present a truncated, zero-length, or wrong-signature file that forces an early error return before the filename and extra pointers are initialized. No public exploit code or CISA KEV entry was identified at time of analysis, and the independent assessment rates this as a moderate, not top-priority, issue whose reliable outcome is a crash, with arbitrary-free escalation conditional on platform- and compiler-specific uninitialized stack values.

RemediationAI

Apply the upstream fix commit 4d868504114346aa767d435fbb89a8b76603493f (upstream fix available; a released/tagged patched version was not independently confirmed at time of analysis), which initializes hdr->filename and hdr->extra before any error return in kwajd_read_headers() and ships regression tests with empty.kwj and blank.kwj fixtures. If you cannot immediately rebuild against the fixed source, treat KWAJ support as untrusted: reject or refuse to parse .kwj/KWAJ input in applications before it reaches kwajd_open(), or disable the KWAJ decompressor entirely in builds where that format is not needed, accepting the trade-off that legitimate KWAJ archives will no longer be extractable. Where the format must be supported, run the decompression in a sandboxed, memory-hardened process (e.g. an isolated worker with allocator hardening) so an uninitialized free() degrades to a contained crash rather than arbitrary memory corruption, and input-signature filtering before the library call as a supplementary check, recognizing that filtering can be bypassed by any path that still reaches the vulnerable error handling. Advisory references: https://www.vulncheck.com/advisories/libmspack-through-0-11alpha-uninitialized-pointer-free-via-kwajd-open-error-path and the fix commit at https://github.com/kyz/libmspack/commit/4d868504114346aa767d435fbb89a8b76603493f.

Affected VersionsENISA

libmspack 0 ≤0.11alpha

Affected Packages

euvd libmspack no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

libmspack is a library for decoding Microsoft compression formats, and CWE-824 (Access of Uninitialized Pointer) is the root cause here. In mspack/kwajd.c, kwajd_read_headers() allocated and populated the header's filename and extra fields only after successfully reading and validating the KWAJ header; on any early error path (MSPACK_ERR_READ for truncated/empty files, MSPACK_ERR_SIGNATURE for wrong magic) it returned before those fields were set to NULL. The cleanup routine kwajd_close() then called mspack_system.free() on those uninitialized pointers. The upstream fix simply moves the hdr->filename = NULL and hdr->extra = NULL initializations to the top of kwajd_read_headers() so they are valid on every return path, and adds regression tests using new fixtures empty.kwj and blank.kwj. Because the default mspack_system free() is invoked with garbage values, the impact spans undefined-behaviour crashes to a free() on an attacker-influenced address, making this a memory-corruption primitive rather than a clean denial of service. The affected CPE is cpe:2.3:a:kyz:libmspack:*:*:*:*:*:*:*:*, i.e. all released versions through 0.11alpha; KWAJ (.kwj) is a comparatively uncommon format, so exposure is limited to applications that actually route KWAJ input into this decoder.

Know when Libmspack gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 5.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.1 HIGH

File must be processed by the host app (AV:L, UI:R, PR:N); reliable crash plus free-based memory corruption gives I:H/A:H with no information disclosure (C:N).

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
4.0 AV:L/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat 6.3 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

libmspack through 0.11alpha contains an uninitialized pointer free vulnerability in kwajd_open() in mspack/kwajd.c that frees unzeroed filename and extra pointers on header read errors. Attackers can supply a truncated, empty, or wrong-signature KWAJ file to crash the process or obtain an arbitrary-free memory corruption primitive.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Medium
file-parsing library embedded in ClamAV/cabextract/wine; KWAJ path less common
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

29
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +29
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

CVE-2015-4472 MEDIUM POC
6.8 Jun 11

Off-by-one error in the READ_ENCINT macro in chmd.c in libmspack before 0.5 allows remote attackers to cause a denial of

CVE-2019-1010305 MEDIUM POC
5.5 Jul 15

libmspack 0.9.1alpha is affected by: Buffer Overflow. Rated medium severity (CVSS 5.5), this vulnerability is no authent

CVE-2018-18586 MEDIUM POC
5.3 Oct 23

chmextract.c in the chmextract sample program, as distributed with libmspack before 0.8alpha, does not protect against a

CVE-2014-9556 MEDIUM POC
5.0 Feb 03

Integer overflow in the qtmd_decompress function in libmspack 0.4 allows remote attackers to cause a denial of service (

CVE-2018-14682 HIGH
8.8 Jul 28

An issue was discovered in mspack/chmd.c in libmspack before 0.7alpha. Rated high severity (CVSS 8.8), this vulnerabilit

CVE-2018-14681 HIGH
8.8 Jul 28

An issue was discovered in kwajd_read_headers in mspack/kwajd.c in libmspack before 0.7alpha. Rated high severity (CVSS

CVE-2015-4471 MEDIUM POC
4.3 Jun 11

Off-by-one error in the lzxd_decompress function in lzxd.c in libmspack before 0.5 allows remote attackers to cause a de

CVE-2015-4470 MEDIUM POC
4.3 Jun 11

Off-by-one error in the inflate function in mszipd.c in libmspack before 0.5 allows remote attackers to cause a denial o

CVE-2014-9732 MEDIUM POC
4.3 Jun 11

The cabd_extract function in cabd.c in libmspack before 0.5 does not properly maintain decompression callbacks in certai

CVE-2015-4469 MEDIUM POC
4.3 Jun 11

The chmd_read_headers function in chmd.c in libmspack before 0.5 does not validate name lengths, which allows remote att

CVE-2015-4468 MEDIUM POC
4.3 Jun 11

Multiple integer overflows in the search_chunk function in chmd.c in libmspack before 0.5 allow remote attackers to caus

CVE-2015-4467 MEDIUM POC
4.3 Jun 11

The chmd_init_decomp function in chmd.c in libmspack before 0.5 does not properly validate the reset interval, which all

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy