Skip to main content

AdPlug CVE-2026-110876

| EUVDEUVD-2026-102351 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-15 VulnCheck GHSA-5f64-5878-cg28
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 XSM file with ofTAZ! signature and song byte ≥0x80
  2. Delivery
    Deliver file to victim via download or share
  3. Exploit
    Victim plays file in AdPlug-based player
  4. Execution
    Negative note index reads before note_table
  5. Impact
    Out-of-bounds read crashes application

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 to open or play an attacker-supplied XSM file within an application that uses the AdPlug library; the file must contain the 'ofTAZ!' signature and a song byte of 0x80 or higher to produce the negative note index. Limiting factors: the attack vector is local (the malicious file must reach and be processed on the target system), passive user interaction is required (the file must be played), and the impact is limited to crashing the application - there is no code execution, privilege escalation, or data disclosure indicated. No special non-default configuration is needed beyond using AdPlug to parse XSM-format files.

Impact

This is a genuinely low-to-moderate priority issue, not a high-severity emergency. The provided CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) scores 6.8 but the impact is confined to availability (VA:H) - a crash - with no confidentiality or integrity impact (VC:N/VI:N). The attack vector is LOCAL (AV:L) and requires passive user interaction (UI:P): a victim must obtain and play a maliciously crafted XSM file, so this cannot be triggered remotely or automatically against a service. A public POC exists (reported by VulnCheck), which raises practical reproducibility, but there is NO CISA KEV listing and no EPSS score was provided, so there is no evidence of active or widespread exploitation. The signals are internally consistent: a file-parsing memory-safety bug in a desktop/library media component that results in a crash. Note a labeling tension - the CVE is tagged 'Information Disclosure' and is an out-of-bounds READ (CWE-125), yet both the description ('may crash affected applications') and the CVSS (VC:N) indicate the realistic outcome is denial of service, not data leakage. Net: a real, confirmed bug worth patching in software bundling AdPlug, but low operational urgency given local vector, user-interaction requirement, and crash-only impact.

Exploit ScenarioDerived

An attacker crafts a malicious AdLib XSM music file containing the 'ofTAZ!' signature and a song byte of 0x80 or higher, then distributes it (e.g., via download, email, or a music-file archive). When a victim opens or plays the file in an application using the AdPlug library, the negative note index causes an out-of-bounds read before note_table, crashing the application. A public proof-of-concept exploit is available, making reproduction straightforward.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 15, 2026

Out-of-bounds read in AdPlug through 2.4 lets a crafted XSM file (with 'ofTAZ!' signature and a song byte of 0x80 or higher) crash applications that play the file, requiring victim interaction. Publicly available exploit code exists, but there is no confirmed active exploitation (not in CISA KEV); the CVSS 4.0 score is 6.8 while the independent CVSS 3.1 assessment is 5.4 (AV:L/AC:L/PR:N/UI:R, availability-only). The vulnerability is a low-to-moderate priority local denial-of-service issue, with no code execution, privilege escalation, or data disclosure per the assessed impact (C:N/I:N/A:H).

RemediationAI

No vendor-released patch identified at time of analysis; the CPE indicates all versions through 2.4 are affected. Monitor the AdPlug GitHub repository (https://github.com/adplug/adplug) for a fixed release, and apply a local code patch to bounds-check the note index in src/xsm.cpp if you must continue using the library. As a compensating control, avoid opening or playing untrusted XSM files with AdPlug-based applications, or sandbox the player (e.g., run it under a restricted user account or an application sandbox) to limit the impact of a crash; the trade-off is reduced functionality for untrusted content. If the application allows, disable XSM format support entirely, though this removes legitimate playback capability. Validate files before parsing by rejecting XSM files that carry the 'ofTAZ!' signature and a song byte of 0x80 or higher, but note that this check is specific to the known exploit pattern and may not cover variants. Follow the vendor advisory at https://www.vulncheck.com/advisories/adplug-through-2.4-out-of-bounds-read-via-cxsmplayer-play-note-in-xsm-files for updates.

Affected VersionsENISA

adplug 0 ≤2.4

Affected Packages

euvd adplug 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

AdPlug is a C++ library for playing AdLib/OPL2 music formats, including the XSM format. The flaw resides in src/xsm.cpp, where a negative note index (caused by a song byte of 0x80 or higher) is used to read before the note_table global buffer, triggering a global-buffer-overflow read classified as CWE-125 (out-of-bounds read). The affected CPE is cpe:2.3:a:adplug:adplug:*:*:*:*:*:*:*:*, covering all versions through 2.4. Exploitation requires the victim to open or play an attacker-supplied XSM file within an application that uses AdPlug; no special non-default configuration is needed beyond using AdPlug to parse XSM-format files. The public exploit reference points to a HackMD writeup whose title mentions an out-of-bounds write, which may indicate a related code path or a labeling discrepancy, but the CVE and the independent assessment describe strictly an out-of-bounds read that can crash the application. Although the supplied tags include 'Information Disclosure,' the assessed vector shows no confidentiality impact (C:N), so the practical impact is denial of service.

Know when Adplug 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

Malicious file must be locally processed (AV:L) and played by the user (UI:R); no privileges needed (PR:N); impact is a crash only, so A:H with C:N/I:N.

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

AdPlug through 2.4 contains an out-of-bounds read vulnerability in src/xsm.cpp that allows attackers to read before note_table by supplying a negative note index. Attackers can craft an XSM file with the ofTAZ! signature and a song byte of 0x80 or higher, causing a global-buffer-overflow read during playback that may crash affected applications.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
niche open-source AdLib/OPL music playback library, limited deployment footprint
Exploit
POC
Public exploit code exists
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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available No
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
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

More in Adplug

View all
CVE-2019-15151 CRITICAL POC
9.8 Aug 18

AdPlug 2.3.1 has a double free in the Cu6mPlayer class in u6m.h. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2018-17825 CRITICAL POC
9.8 Oct 01

An issue was discovered in AdPlug 2.3.1. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,

CVE-2019-14734 HIGH POC
8.8 Aug 07

AdPlug 2.3.1 has multiple heap-based buffer overflows in CmtkLoader::load() in mtk.cpp. Rated high severity (CVSS 8.8),

CVE-2019-14733 HIGH POC
8.8 Aug 07

AdPlug 2.3.1 has multiple heap-based buffer overflows in CradLoader::load() in rad.cpp. Rated high severity (CVSS 8.8),

CVE-2019-14732 HIGH POC
8.8 Aug 07

AdPlug 2.3.1 has multiple heap-based buffer overflows in Ca2mLoader::load() in a2m.cpp. Rated high severity (CVSS 8.8),

CVE-2019-14692 HIGH POC
8.8 Aug 06

AdPlug 2.3.1 has a heap-based buffer overflow in CmkjPlayer::load() in mkj.cpp. Rated high severity (CVSS 8.8), this vul

CVE-2019-14691 HIGH POC
8.8 Aug 06

AdPlug 2.3.1 has a heap-based buffer overflow in CdtmLoader::load() in dtm.cpp. Rated high severity (CVSS 8.8), this vul

CVE-2019-14690 HIGH POC
8.8 Aug 06

AdPlug 2.3.1 has a heap-based buffer overflow in CxadbmfPlayer::__bmf_convert_stream() in bmf.cpp. Rated high severity (

CVE-2026-110877 MEDIUM POC
6.8 Oct 15

Heap out-of-bounds read in AdPlug through 2.4 can crash an application that parses a truncated TwinTeam DMO file, yieldi

CVE-2026-110875 MEDIUM
6.9 Oct 15

AdPlug through 2.4 contains a heap-based buffer overflow in the KSM (Ken Silverman Music) module player, CksmPlayer::upd

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