Skip to main content

libmikmod EUVDEUVD-2026-93390

| CVE-2026-105838 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-06 VulnCheck GHSA-xrff-r355-6xmr
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious IT module with >200 pattern rows
  2. Delivery
    Deliver file to victim (download/mod/attachment)
  3. Exploit
    Victim loads module in libmikmod app
  4. Execution
    IT_ConvertTrack reads past itpat heap buffer
  5. Impact
    Application crash (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

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

Exploitation Conditions

Exploitation requires a victim application that links libmikmod before 3.3.14 to load/parse an attacker-supplied Impulse Tracker (.it) module whose pattern data exceeds the hardcoded 200-row limit (itpat is allocated as 200*64 ITNOTE entries in load_it.c); the oversized pattern is the exact trigger. Limiting factors: the vector is local (AV:L) and demands passive user interaction (UI:P) - the victim must open or play the crafted file - there is no network-remote path, and impact is confined to a crash (availability only), with no confidentiality/integrity effect and no authentication needed. Risk is therefore bounded to environments where untrusted module files are opened in vulnerable libmikmod-based software.

Impact

This is a moderate, defensively-scoped issue rather than a top-tier priority. The vendor-provided CVSS 4.0 vector (CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) describes a local, low-complexity, unauthenticated flaw that requires passive user interaction and whose only impact is availability (VA:H) - i.e. an application crash - with no confidentiality or integrity impact (VC:N/VI:N). This is consistent with a CWE-125 out-of-bounds READ whose practical outcome, per the description and the source-code evidence, is a crash when IT_ConvertTrack() walks past the fixed 200-row itpat buffer. Note a tension worth flagging: the CVE is tagged 'Information Disclosure' and the primitive is an adjacent-heap read, yet the CVSS sets VC:N and the description states the result is a crash - so the realistic impact is denial of service, not attacker-usable data leakage; verify with the vendor advisory if leakage matters to you. No EPSS score was supplied, KEV status is NO (not CISA-listed), and no public exploit was provided in the intelligence set, so exploitation is 'no public exploit identified at time of analysis.' Combined with the local vector and required user interaction, real-world risk is low-to-moderate: it is a file-parsing DoS against software embedding a somewhat niche audio library, not a remotely-wormable or data-exfiltration bug.

Exploit ScenarioDerived

An attacker crafts a malicious Impulse Tracker (.it) module containing more than 200 pattern rows and distributes it (e.g. as a downloadable song file or game mod). When a victim opens or plays the file in an application built on libmikmod before 3.3.14, IT_ConvertTrack() reads past the 200-row itpat heap buffer, reading adjacent heap memory and crashing the host application. No public exploit code was identified in the provided intelligence.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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

A heap out-of-bounds read in the Impulse Tracker loader of libmikmod before 3.3.14 lets a crafted .it module drive the parser past its pattern buffer, crashing the host application. Any program statically or dynamically linking the vulnerable library - classic MikMod-based players, games, and media tools - is exposed when it opens an untrusted module. The trigger is an oversized pattern of more than 200 rows, which overruns the hardcoded itpat allocation (200*64 ITNOTE entries) and causes IT_ConvertTrack() to read adjacent heap memory. The assessed impact is availability only (AV:L, UI:P, A:H) with no confidentiality or integrity loss, so there is no public exploit identified at time of analysis; the practical risk is a local denial of service against applications that parse attacker-supplied tracker files.

RemediationAI

Upgrade to libmikmod 3.3.14 or later, which raises the itpat allocation and its memset bound from 200*64 to 256*64 ITNOTE entries (upstream commit https://github.com/sezero/mikmod/commit/e7c6c9e88fbe3e8af4668a2e116bb8de341383f8); the fix has no functional downside and is the only reliable correction, so downstream projects that vendor or statically link the library must rebuild against the patched source rather than relying on a system package update. If immediate upgrading is not possible, the practical compensating control is to avoid opening or auto-playing untrusted .it modules in libmikmod-based software and to treat such files as untrusted input - scanning or rejecting untrusted tracker files before they reach the player, or running the parsing application in a restricted sandbox/container so a crash cannot affect other workloads. Note that these are stopgaps only: they reduce exposure but leave the out-of-bounds read intact, and because the trigger is simply a pattern exceeding 200 rows it cannot be reliably filtered by content inspection. Reference the vendor guidance at https://github.com/sezero/mikmod and the VulnCheck advisory https://www.vulncheck.com/advisories/libmikmod-before-3.3.14-heap-out-of-bounds-read-via-it-module-loader when tracking remediation.

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 (the sezero-maintained fork tracked as cpe:2.3:a:sezero:libmikmod) is a portable module playback library that parses many tracker formats, including Impulse Tracker (.it) modules. In libmikmod/loaders/load_it.c, the IT_Init() routine allocates the global pattern buffer itpat as a fixed 200*64 array of ITNOTE structures, and IT_ReadPattern()/IT_ConvertTrack() assume that ceiling when converting track data. The Impulse Tracker format permits patterns with more rows than that hardcoded assumption, so a module declaring more than 200 pattern rows makes the converter index past the end of itpat and read unrelated heap memory (CWE-125, out-of-bounds read) before dereferencing or copying out-of-range values, which terminates the process. The upstream commit e7c6c9e88fbe3e8af4668a2e116bb8de341383f8 corrects the root cause by enlarging the allocation and the corresponding memset bound from 200*64 to 256*64 ITNOTE entries, aligning the buffer with the maximum row count the format can express. Because the library is commonly vendored or statically linked into third-party players, the vulnerable parsing code may persist even after a system-level library upgrade.

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 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Local file-parsing flaw needing the victim to open a crafted module (AV:L/UI:R), no privileges (PR:N); impact is an application crash only, so C:N/I:N/A:H.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/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
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

libmikmod before 3.3.14 contains a heap out-of-bounds read vulnerability in the Impulse Tracker loader load_it.c that allows attackers to read adjacent heap memory via oversized patterns. Attackers can supply a crafted IT module with more than 200 pattern rows, causing IT_ConvertTrack() to read past the itpat buffer and crash applications.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Medium
tracker-audio library embedded in some media players, games, and SDL_mixer
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
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
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
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.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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