Skip to main content

libmikmod EUVDEUVD-2026-93389

| CVE-2026-105837 HIGH
Integer Overflow or Wraparound (CWE-190)
2026-10-06 VulnCheck GHSA-rr6f-2vgw-5v76
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious DSM module file
  2. Delivery
    Deliver to victim (download/attachment/mod)
  3. Exploit
    Victim opens module in libmikmod app
  4. Execution
    Integer overflow wraps numchn*numpat track count
  5. Persist
    Heap buffer overflow corrupts memory
  6. Impact
    Crash or arbitrary code execution

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
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

Exploitation requires an application that uses libmikmod (before 3.3.14) to load and parse an attacker-controlled DSM-format module file; the crafted file must set the numchn and numpat header fields so that their product (numtrk) overflows the 16-bit UWORD truncation in DSM_Load() at load_dsm.c. LIMITING FACTORS: the attack vector is local/file-based (AV:L), not network-reachable, and requires passive user interaction (UI:P) - the victim must open or play the malicious module. No authentication or privileges are needed (PR:N), and default configurations are vulnerable since the missing bounds check is in the core loader. Risk is confined to contexts where libmikmod processes untrusted module files.

Impact

This is a genuine but conditional memory-corruption flaw, not a drive-by remote threat. The authoritative CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H) is internally consistent with the description: exploitation is LOCAL because it requires parsing an attacker-supplied DSM module file, and it requires passive user interaction (UI:P) - the victim must open or play the malicious module in an application linked against libmikmod. PR:N confirms no authentication is needed. The high VC/VI/VA impact reflects the heap buffer overflow that the integer overflow (CWE-190, numchn*numpat wrapping a 16-bit value) enables, with potential for code execution in the context of the host application. The patch commit (a125eabb) independently confirms the root cause and fix: a bounds check rejecting numchn>DSM_MAXCHAN or numtrk>65535 before the UWORD truncation. KEV status is NO and no EPSS score is provided in the input, so there is no quantitative exploitation-probability signal; the 'RCE' tag reflects theoretical potential, not confirmed in-the-wild use. Net: a defensible 8.5 'High', but the local vector plus required user interaction and the lack of any active-exploitation or EPSS signal place this below internet-facing RCEs in priority. It matters most where libmikmod processes untrusted module files (media players, games, file converters).

Exploit ScenarioDerived

An attacker crafts a malicious DSM module file whose numchn and numpat values multiply to overflow a 16-bit track count, then distributes it (email attachment, download, game mod). When a victim opens or plays the file in any application using libmikmod before 3.3.14, DSM_Load() truncates the wrapped count and writes past the allocated heap buffer, causing a crash or potential code execution in the application's context. No public exploit has been identified at time of analysis, though the vendor patch pinpoints the exact flaw.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 06, 2026

Heap buffer overflow in libmikmod before 3.3.14 is triggered when an application linked against the library parses a crafted DSM module whose numchn and numpat header fields produce a product that overflows the 16-bit UWORD truncation in DSM_Load(), corrupting heap memory and potentially enabling code execution. The issue is local and file-based: an attacker must deliver a malicious DSM file and a victim must open or play it, so it is not a drive-by remote threat; no authentication or special privileges are required, and no public exploit has been identified at time of analysis. A vendor-released patch is available in libmikmod 3.3.14.

RemediationAI

Upgrade to libmikmod 3.3.14 or later; this is the vendor-released patch, and the upstream fix is commit a125eabbd086f311496ae46d08aaebcad0a1c426, which adds the missing integer-overflow check before the UWORD cast. Downstream applications that bundle libmikmod must rebuild against the patched library and ship an updated release; advisory details are available at https://github.com/sezero/mikmod/blob/libmikmod-3.3.14/libmikmod/NEWS and https://www.vulncheck.com/advisories/libmikmod-before-3.3.14-heap-buffer-overflow-via-dsm-loader-integer-overflow. If patching is not immediately possible, avoid opening or playing DSM modules from untrusted sources, block DSM attachments or file shares from reaching media players and tools that use libmikmod, and consider adding pre-parse validation in the consuming application to reject DSM files where numchn exceeds the DSM channel limit or numchn * numpat exceeds 65535. Run affected applications with least privilege or in a sandbox to limit the impact of heap corruption; this does not prevent the overflow and may degrade functionality for legitimate DSM playback. These mitigations reduce exposure, but the primary fix is the 3.3.14 update.

Affected VersionsENISA

libmikmod 0 <3.3.14

Affected Packages

euvd libmikmod fix: 3.3.14

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

libmikmod is an open-source module playback library used by media players, games, and other audio tools. The DSM loader in libmikmod/loaders/load_dsm.c reads DSM headers, where numchn is the channel count and numpat is the pattern count. In vulnerable versions the code executes of.numtrk = of.numchn * of.numpat and stores the result in a 16-bit UWORD, so a crafted DSM can make the product exceed 65535; truncation of that product can cause subsequent track handling to use an inconsistent count, leading to a heap buffer overflow. This is CWE-190 integer overflow. The upstream fix commit a125eabbd086f311496ae46d08aaebcad0a1c426 adds an unsigned int numtrk variable and rejects files when of.numchn > DSM_MAXCHAN or numtrk > 65535 with MMERR_LOADING_HEADER before casting to UWORD. Affected versions are identified by CPE cpe:2.3:a:sezero:libmikmod:*:*:*:*:*:*:*:* and are libmikmod before 3.3.14. The provided CVSS 4.0 vector is AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N (score 8.5), while independent assessment uses CVSS 3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H; both reflect local file-based exploitation with user interaction, no privileges, and high confidentiality, integrity, and availability impact on the vulnerable component.

Know when Libmikmod 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 8.5 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.8 HIGH

AV:L and UI:R because a victim must open an attacker-supplied DSM file; PR:N as no auth is needed; C/I/A:H reflect heap overflow enabling potential code execution.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

libmikmod before 3.3.14 contains an integer overflow vulnerability in DSM_Load() in load_dsm.c that allows attackers to trigger heap buffer overflow via crafted track counts. Attackers can supply a DSM module whose numchn and numpat product wraps a 16-bit value, overwriting heap memory to cause crashes or potential code execution.

Executive ViewAI

Why It Matters

libmikmod, a media playback library embedded in various applications, contains a heap overflow vulnerability that could allow an attacker to execute code when a user opens a specially crafted DSM audio module file. This requires user interaction and is not remotely exploitable, but a successful attack could compromise the user's system, leading to data theft or further network access. Leadership should prioritize patching because the library is widely used and a vendor-released patch is available in libmikmod 3.3.14, with no public exploit identified at time of analysis.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Medium
audio module-playback library bundled in many games and Linux media apps
Data Quality
4 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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