Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious DSM module file
-
DeliveryDeliver to victim (download/attachment/mod)
-
ExploitVictim opens module in libmikmod app
-
ExecutionInteger overflow wraps numchn*numpat track count
-
PersistHeap buffer overflow corrupts memory
-
ImpactCrash 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
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
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.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
Heap buffer overflow in libmikmod's Oktalyzer (.okt) loader lets a crafted module corrupt heap memory and potentially ac
A heap out-of-bounds read in libmikmod's IMF_Load() loader (CWE-125) lets a crafted Imago Orpheus (IMF) module map notes
Loading a crafted MultiTracker (.mtm) module file with a declared channel count above 32 in applications linked against
A heap out-of-bounds read in the Impulse Tracker loader of libmikmod before 3.3.14 lets a crafted .it module drive the p
EUVD-2026-93389
GHSA-rr6f-2vgw-5v76
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB