Skip to main content

libmikmod EUVDEUVD-2026-93391

| CVE-2026-105839 HIGH
Integer Overflow or Wraparound (CWE-190)
2026-10-06 VulnCheck GHSA-w386-36c3-r8wv
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Deliver crafted .okt module to victim
  2. Delivery
    Victim loads file in libmikmod app
  3. Exploit
    SLEN chunk overflows 16-bit numtrk
  4. Execution
    PBOD writes past track-pointer heap buffer
  5. Impact
    Heap corruption yields crash or 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

Requires the victim to load or process an attacker-supplied Oktalyzer (.okt) module file in an application linked against libmikmod before 3.3.14, specifically reaching the OKT loader's OKT_doPBOD() path. The malicious file must set SLEN/pattern/channel values such that numpat * numchn exceeds 65535 and wraps the 16-bit numtrk field. Limiting factors: exploitation is local (AV:L) and demands user interaction (UI:P) - there is no remote network trigger in a default configuration; impact is bounded to contexts that parse untrusted OKT modules (games, media players, converters using the libmikmod OKT loader). Fixed versions (3.3.14+) reject the overflowing track count outright.

Impact

This is a genuine but conditionally-gated memory-corruption flaw rather than a drop-everything remote threat. The CVSS 4.0 base of 8.5 (High) is driven by full VC:H/VI:H/VA:H triad impact combined with PR:N and AC:L, but two metrics meaningfully constrain real-world risk: AV:L (local - the malicious OKT module must be processed on the victim system, not delivered over a network) and UI:P (the victim must open or load the crafted file). The integer overflow (CWE-190) is confirmed by the vendor source: of.numtrk = of.numpat * of.numchn wraps the 16-bit value, and the 3.3.14 patch adds an explicit >65535 bounds check, so the root cause and fix are unambiguous. No EPSS score, KEV listing, or public POC was provided in the input; the only exploit-adjacent artifact is the patch commit diff, which is not weaponized proof-of-concept code. Signals are therefore consistent rather than conflicting: high technical impact, but a local-plus-user-interaction delivery path and no evidence of active exploitation point to opportunistic/targeted risk (e.g., malicious media files) rather than mass exploitation. Prioritize patching in software that auto-parses untrusted module files, but this is not an internet-facing wormable issue. EPSS is missing - exploitation probability cannot be quantified from the data given.

Exploit ScenarioDerived

An attacker crafts a malicious Oktalyzer (.okt) module whose SLEN chunk forces numpat * numchn to overflow the 16-bit numtrk field, then distributes it as a music/game asset or tricks a user into opening it in an application built on libmikmod. When the OKT loader runs OKT_doPBOD(), PBOD data is written past the undersized track-pointer allocation, corrupting the heap for a crash or potential arbitrary code execution. No public exploit was identified in the provided data, though the vendor patch pinpoints the vulnerable multiplication.

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's Oktalyzer (.okt) loader lets a crafted module corrupt heap memory and potentially achieve code execution, because a 16-bit track-count field (numtrk = numpat * numchn) can be made to wrap while pattern data is still written for the full, unwrapped track count. Any application linked against libmikmod before 3.3.14 is affected, and exploitation requires the victim to open or otherwise process an attacker-supplied .okt file, matching the independently assessed CVSS 3.1 vector AV:L/AC:L/PR:N/UI:R (7.8) rather than a remotely reachable condition. No public exploit identified at time of analysis, and the 3.3.14 release rejects overflowing track counts outright.

RemediationAI

Upgrade to libmikmod 3.3.14 or later, which contains the vendor-released fix rejecting numpat * numchn values above 65535 with MMERR_LOADING_PATTERN; the change is the commit at https://github.com/sezero/mikmod/commit/097b69281fad6ba38a553569e6f55dbfdd71dc2a and is recorded in the 3.3.14 NEWS entry (https://github.com/sezero/mikmod/blob/libmikmod-3.3.14/libmikmod/NEWS). Where upgrading an embedded or statically linked copy is impractical, apply the same product check as a patch, or drop and rebuild the affected package so the fix is compiled in rather than masked by a distro-level version string. Compensating controls carry side effects: disabling or refusing Oktalyzer/.okt input at the application layer removes the attack surface entirely but breaks legitimate Oktalyzer playback; restricting module loading to trusted, signed, or user-vetted files reduces exposure but relies on end-user discipline; and running the parsing application with reduced privileges or in a sandbox (seccomp/AppArmor, no network, limited filesystem write access) limits the post-corruption impact without preventing the overflow. Loading untrusted modules in a separate low-privilege process is the strongest interim measure because exploitation requires user interaction (UI:R) and local file handling rather than remote delivery. Additional details are in the vendor advisory at https://www.vulncheck.com/advisories/libmikmod-before-3.3.14-heap-buffer-overflow-via-okt-loader-okt-dopbod.

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 a portable module-playing library used by games, media players and format converters to decode tracker formats; the flaw lives in the Oktalyzer loader (libmikmod/loaders/load_okt.c), specifically OKT_doPBOD(). Oktalyzer modules store chunk-based headers including a SLEN chunk that drives pattern and channel counts, and the loader derives a track count as of.numtrk = of.numpat * of.numchn, where numtrk is a 16-bit UWORD. The root cause is CWE-190 integer overflow: when numpat * numchn exceeds 65535 the product wraps to a small value, but the PBOD pattern-parsing path still writes track entries for the full logical count, so writes land past the heap allocation sized from the wrapped pointer count. The upstream fix (commit 097b69281fad6ba38a553569e6f55dbfdd71dc2a) computes the product in an unsigned int, rejects values greater than 65535 with MMERR_LOADING_PATTERN, and only then narrows to UWORD, so malformed modules are refused at load time. CPE data identifies the affected package as cpe:2.3:a:sezero:libmikmod, and the code link points to the vulnerable expression in the 3.3.13 loader source.

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

File must be processed locally (AV:L) and opened by a user (UI:R); no privileges needed (PR:N); heap overflow enables potential code execution, so C/I/A:H with unchanged scope.

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 in the Oktalyzer loader OKT_doPBOD() that allows attackers to cause heap buffer overflow via crafted track counts. Attackers can supply an OKT module whose SLEN chunk wraps the 16-bit numtrk value, causing PBOD writes past allocated track pointers for crashes or code execution.

Executive ViewAI

Why It Matters

A heap buffer overflow in libmikmod, a library used by many media and game applications to load module files, allows a malicious .okt file to execute code on an endpoint when opened by a user. Organizations with applications linked against libmikmod before version 3.3.14 are affected, and while no public exploit identified at time of analysis, a successful attack could compromise the user's system. Leadership should prioritize patching and restricting untrusted .okt files to protect endpoint integrity and data confidentiality.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Medium
common module-audio library bundled in games and media players, not universal
Data Quality
5 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
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
High
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