CVE-2026-110876 in AdPluginfo

Summary

by MITRE • 10/15/2026

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.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 10/15/2026

The vulnerability identified in AdPlug versions through 2.4 represents a critical memory safety flaw located within the source file src/xsm.cpp. This component is responsible for parsing and playing back audio files formatted in the XSM module format, which was historically used by various tracker software applications on DOS and Windows platforms. The core of the issue lies in the handling of note indices during the playback process. Specifically, the application fails to perform adequate bounds checking when accessing elements within a global data structure known as the note_table. This table stores musical notes and their associated parameters for each channel in a given song module. When an attacker supplies a negative value as a note index, the internal logic calculates a memory address that falls before the beginning of this allocated buffer region rather than rejecting the invalid input or handling it gracefully.

This out-of-bounds read condition is triggered by crafting a malicious XSM file with specific characteristics designed to exploit the parsing logic. The attacker must include the ofTAZ! signature, which identifies the module as being from the TAZ tracker, and set a song byte value to 0x80 or higher. These conditions cause the parser to interpret subsequent data in a way that results in accessing memory locations preceding the note_table buffer. While the primary classification is an out-of-bounds read, the description also notes potential for global-buffer-overflow behavior during playback. This discrepancy highlights the severity of the flaw, as reading from unauthorized memory regions can expose sensitive information contained in adjacent variables or stack frames to the attacker. In many cases, such improper memory access leads directly to application instability and crashes, resulting in a denial-of-service condition against users who attempt to open or play these crafted files.

From an operational impact perspective, this vulnerability poses significant risks to end-users and system administrators relying on AdPlug for audio playback functionality. If the vulnerable library is integrated into larger applications such as media players, game engines, or retro-computing emulators, those host applications become susceptible to crashes when processing maliciously crafted XSM files. Beyond simple denial of service, out-of-bounds reads can potentially lead to information disclosure if the attacker can control how much data is read and where it is directed. Although the primary vector described involves local file execution or playback within a trusted application context, this could be leveraged in scenarios where users are tricked into opening specially crafted files via email attachments, web downloads, or shared network drives. The lack of input validation on numeric indices representing musical notes allows for precise memory manipulation that undermines the integrity and availability of the software stack.

To mitigate these risks, developers must implement rigorous bounds checking before accessing any elements within array-based structures like note_table. Specifically, all index values derived from external inputs or file headers should be validated to ensure they fall within the expected positive range corresponding to valid table indices. Input sanitization routines should reject negative numbers and excessively large values that exceed buffer limits immediately upon parsing. Additionally, adopting memory-safe coding practices such as using static analysis tools during development can help identify similar off-by-one errors or boundary violations early in the lifecycle. For users of affected versions, upgrading to a patched version of AdPlug is essential to eliminate this attack surface. Security teams should also monitor for any exploitation attempts targeting audio parsing libraries and consider deploying application whitelisting policies to restrict execution of untrusted media processing components if possible. This vulnerability aligns with CWE-125 Out-of-bounds Read, emphasizing the necessity of strict input validation in multimedia parsers to prevent memory corruption and unauthorized data access.

Responsible

VulnCheck

Reservation

10/15/2026

Disclosure

10/15/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!